功能修改

master
sunjianxi 1 year ago
parent 8a6795b649
commit 919519dc61
  1. 24
      src/main/java/org/springblade/modules/business/contraller/DeviceController.java
  2. 24
      src/main/java/org/springblade/modules/business/contraller/FeedbackController.java
  3. 33
      src/main/java/org/springblade/modules/business/contraller/InvoiceApplyController.java
  4. 28
      src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java
  5. 85
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java
  6. 18
      src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java
  7. 9
      src/main/java/org/springblade/modules/business/contraller/supplies/ApplyController.java
  8. 8
      src/main/java/org/springblade/modules/business/contraller/supplies/GoodsController.java
  9. 66
      src/main/java/org/springblade/modules/business/contraller/supplies/GoodsDetailController.java
  10. 4
      src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java
  11. 6
      src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml
  12. 36
      src/main/java/org/springblade/modules/business/mapper/GoodsDetailMapper.java
  13. 44
      src/main/java/org/springblade/modules/business/mapper/GoodsDetailMapper.xml
  14. 2
      src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.java
  15. 12
      src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.xml
  16. 4
      src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java
  17. 12
      src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml
  18. 10
      src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.java
  19. 27
      src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml
  20. 5
      src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTask.java
  21. 143
      src/main/java/org/springblade/modules/business/pojo/entity/supplies/GoodsDetail.java
  22. 5
      src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrder.java
  23. 4
      src/main/java/org/springblade/modules/business/service/IDeviceService.java
  24. 4
      src/main/java/org/springblade/modules/business/service/IInvoiceApplyService.java
  25. 2
      src/main/java/org/springblade/modules/business/service/IWorkOrderService.java
  26. 8
      src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java
  27. 4
      src/main/java/org/springblade/modules/business/service/impl/InvoiceApplyServiceImpl.java
  28. 16
      src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java
  29. 35
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java
  30. 40
      src/main/java/org/springblade/modules/business/service/impl/supplies/GoodsDetailServiceImpl.java
  31. 11
      src/main/java/org/springblade/modules/business/service/impl/supplies/InOrderServiceImpl.java
  32. 24
      src/main/java/org/springblade/modules/business/service/supplies/IGoodsDetailService.java
  33. 25
      src/main/java/org/springblade/modules/system/controller/DeptController.java
  34. 5
      src/main/java/org/springblade/modules/system/controller/UserController.java
  35. 21
      src/main/java/org/springblade/modules/system/controller/UserRegisterController.java
  36. 4
      src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
  37. 23
      src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
  38. 1
      src/main/java/org/springblade/modules/system/pojo/entity/Dept.java
  39. 10
      src/main/java/org/springblade/modules/system/pojo/entity/User.java
  40. 4
      src/main/java/org/springblade/modules/system/service/IDeptService.java
  41. 8
      src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java

@ -14,11 +14,14 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.excel.DeviceExcel;
@ -32,12 +35,15 @@ import org.springblade.modules.business.pojo.vo.DeviceVO;
import org.springblade.modules.business.service.IDeviceAttachService;
import org.springblade.modules.business.service.IDeviceMaintenanceService;
import org.springblade.modules.business.service.IDeviceService;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.*;
import java.util.stream.Collectors;
/**
* 设备表 控制器
@ -55,6 +61,7 @@ public class DeviceController extends BladeController {
private final IDeviceAttachService deviceAttachService;
private final IDeviceMaintenanceService maintenanceService;
private final IUserService userService;
private final IDeptService deptService;
/**
* 设备表 详情
@ -86,6 +93,19 @@ public class DeviceController extends BladeController {
throw new IllegalArgumentException("User not authenticated");
}
LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery(Device.class);
BladeUser user = AuthUtil.getUser();
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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);
}
wrapper.like(StringUtils.isNotBlank(device.getName()), Device::getName, device.getName());
wrapper.eq(StringUtils.isNotBlank(device.getPosition()), Device::getPosition, device.getPosition());
wrapper.eq(StringUtils.isNotBlank(device.getType()), Device::getType, device.getType());
@ -94,8 +114,8 @@ public class DeviceController extends BladeController {
wrapper.eq(device.getLimsId() != null, Device::getLimsId, device.getLimsId());
wrapper.eq(device.getRunStatus() != null, Device::getRunStatus, device.getRunStatus());
if (device.getCreateUser() != null) {
User user = userService.getById(device.getCreateUser());
wrapper.eq(Device::getLimsId, user.getDeptId());
User user1 = userService.getById(device.getCreateUser());
wrapper.eq(Device::getLimsId, user1.getDeptId());
}
// wrapper.eq(Device::getCreateUser, AuthUtil.getUserId());
wrapper.orderByDesc(Device::getCreateTime);

@ -11,8 +11,11 @@ import org.springblade.common.cache.DictBizCache;
import org.springblade.common.cache.UserCache;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
@ -21,11 +24,15 @@ import org.springblade.modules.business.pojo.entity.Attachs;
import org.springblade.modules.business.pojo.entity.Feedback;
import org.springblade.modules.business.service.IAttachaService;
import org.springblade.modules.business.service.IFeedbackService;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import static org.springblade.common.enums.DictBizEnum.FEED_BACK_TYPE;
@ -43,6 +50,7 @@ public class FeedbackController extends BladeController {
private final IFeedbackService feedbackService;
private final IAttachaService attachService;
private final IDeptService deptService;
/**
* 意见反馈表 详情
@ -70,14 +78,26 @@ public class FeedbackController extends BladeController {
@ApiOperationSupport(order = 2)
public R<IPage<Feedback>> list(FeedbackDTO feedback, Query query) {
LambdaQueryWrapper<Feedback> wrapper = Wrappers.lambdaQuery(feedback);
BladeUser user = AuthUtil.getUser();
if(!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")){
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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);
}
wrapper.like(StringUtils.isNotBlank(feedback.getUnitName()), Feedback::getUnitName, feedback.getUnitName());
wrapper.between(feedback.getStartTime() != null && feedback.getEndTime() != null, Feedback::getCreateTime, feedback.getStartTime(), feedback.getEndTime());
wrapper.orderByDesc(Feedback::getCreateTime);
IPage<Feedback> pages = feedbackService.page(Condition.getPage(query), wrapper);
List<Feedback> records = pages.getRecords();
for (Feedback record : records) {
User user = UserCache.getUser(record.getCreateUser());
record.setFeedUser(user != null ? user.getRealName() : "");
User user1 = UserCache.getUser(record.getCreateUser());
record.setFeedUser(user1 != null ? user1.getRealName() : "");
record.setTypeName(DictBizCache.getValue(FEED_BACK_TYPE, record.getType()));
// 附件内容查询

@ -8,10 +8,13 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.enums.InvoiceEnum;
import org.springblade.modules.business.pojo.dto.InvoiceApplyDto;
@ -19,9 +22,15 @@ import org.springblade.modules.business.pojo.entity.InvoiceApply;
import org.springblade.modules.business.pojo.entity.InvoiceApplyDetail;
import org.springblade.modules.business.service.IInvoiceApplyDetailService;
import org.springblade.modules.business.service.IInvoiceApplyService;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 发票申请控制器
@ -38,16 +47,38 @@ public class InvoiceApplyController extends BladeController {
private final IInvoiceApplyDetailService applyDetailService;
private final IDeptService deptService;
@GetMapping("/finish-work-list")
@Operation(summary = "列表", description = "列表")
public R finishWorkList(Query query) {
return R.data(applyService.finishWorkList(query));
BladeUser user = AuthUtil.getUser();
List<String> deptIds = null;
if(!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")){
if(user.getRoleName().equals("客服") || user.getRoleName().equals("维修负责人")){
String deptId = user.getDeptId();
List<Dept> 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());
}
}else{
deptIds = new ArrayList<>();
String deptId = user.getDeptId();
deptIds.add(deptId);
}
}
return R.data(applyService.finishWorkList(query,deptIds));
}
@GetMapping("/page")
@Operation(summary = "列表", description = "列表")
public R<IPage<InvoiceApply>> page(InvoiceApply apply, Query query) {
LambdaQueryWrapper<InvoiceApply> wrapper = Wrappers.lambdaQuery(apply).orderByDesc(InvoiceApply::getCreateTime);
BladeUser user = AuthUtil.getUser();
if(!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")){
wrapper.eq(BaseEntity::getCreateDept,user.getDeptId());
}
IPage<InvoiceApply> pages = this.applyService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}

@ -11,11 +11,13 @@ import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.enums.MaintenanceStatusEnum;
@ -26,7 +28,9 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail;
import org.springblade.modules.business.service.*;
import org.springblade.modules.business.sms.SmsService;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@ -37,6 +41,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* 维保控制器
@ -58,6 +63,7 @@ public class MaintenanceController extends BladeController {
private final SmsService smsService;
private final IMessageService messageService;
private final IUserService userService;
private final IDeptService deptService;
/*---------- 维修计划开始 ----------*/
@ -68,7 +74,7 @@ public class MaintenanceController extends BladeController {
User user = userService.getById(AuthUtil.getUserId());
LambdaQueryWrapper<MaintenancePlan> wrapper = Wrappers.lambdaQuery(plan).orderByDesc(MaintenancePlan::getCreateTime);
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin") && !user.getRoleId().equals("1839536982874193922")) {
wrapper.eq(MaintenancePlan::getDeptId, bladeUser.getDeptId());
wrapper.eq(MaintenancePlan::getCreateDept, bladeUser.getDeptId());
}
IPage<MaintenancePlan> pages = this.planService.page(Condition.getPage(query), wrapper);
return R.data(pages);
@ -135,6 +141,15 @@ public class MaintenanceController extends BladeController {
wrapper.in(MaintenanceTask::getTaskStatus, taskStatusList);
wrapper.eq(MaintenanceTask::getServicemanId, user.getUserId());
}
if(user.getRoleName().equals("维修负责人")){
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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);
}
wrapper.like(StringUtils.isNotBlank(task.getDeptName()), MaintenanceTask::getDeptName, task.getDeptName());
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
@ -280,6 +295,17 @@ public class MaintenanceController extends BladeController {
if (Func.isNotEmpty(task.getTaskStatus())) {
wrapper.eq(MaintenanceTask::getTaskStatus, task.getTaskStatus());
}
BladeUser user = AuthUtil.getUser();
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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);
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@ -22,7 +23,9 @@ import org.springblade.modules.business.service.IDeviceService;
import org.springblade.modules.business.service.IMaintenancePlanService;
import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springblade.modules.business.service.IWorkOrderService;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@ -34,6 +37,7 @@ import java.text.SimpleDateFormat;
import java.time.*;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.stream.Collectors;
import static org.springblade.modules.business.enums.MaintenanceStatusEnum.TASK_CUSTOMER_CONFIRM;
import static org.springblade.modules.business.enums.WorkOrderStatusEnum.*;
@ -55,6 +59,7 @@ public class WorkBenchesController extends BladeController {
private final IWorkOrderService workOrderService;
private final IDeviceService deviceService;
private final IUserService userService;
private final IDeptService deptService;
/**
* 工作台
@ -88,7 +93,12 @@ public class WorkBenchesController extends BladeController {
// 设备报警数量
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "设备报警");
map3.put("num", deviceService.count(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2)));
LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery(Device.class);
wrapper.eq(Device::getRunStatus, 2);
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
wrapper.eq(Device::getLimsId, bladeUser.getDeptId());
}
map3.put("num", deviceService.count(wrapper));
list.add(map3);
return R.data(list);
}
@ -107,7 +117,13 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/deviceList")
public R<List<Map<String, Object>>> deviceList() {
List<Device> devices = deviceService.list(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2));
BladeUser bladeUser = AuthUtil.getUser();
LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery(Device.class);
wrapper.eq(Device::getRunStatus, 2);
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
wrapper.eq(Device::getLimsId, bladeUser.getDeptId());
}
List<Device> devices = deviceService.list(wrapper);
List<Map<String, Object>> list = new ArrayList<>();
if (CollectionUtil.isNotEmpty(devices)) {
devices.forEach(device -> {
@ -128,6 +144,7 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/upkeepStat")
public R<Map<String, Object>> upkeepStat(@RequestParam String startTime, @RequestParam String endTime) throws ParseException {
BladeUser bladeUser = AuthUtil.getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> map = new HashMap<>();
List<String> xData = new ArrayList<>();
@ -139,11 +156,17 @@ public class WorkBenchesController extends BladeController {
if (Func.isNotEmpty(startTime) && Func.isNotEmpty(endTime)) {
orderWrappers.between(WorkOrder::getCreateTime, format.parse(startTime), format.parse(endTime));
}
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
orderWrappers.eq(BaseEntity::getCreateDept, bladeUser.getDeptId());
}
LambdaQueryWrapper<MaintenanceTask> taskWrappers = Wrappers.lambdaQuery(MaintenanceTask.class);
if (Func.isNotEmpty(startTime) && Func.isNotEmpty(endTime)) {
taskWrappers.between(MaintenanceTask::getCreateTime, format.parse(startTime), format.parse(endTime));
}
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
taskWrappers.eq(MaintenanceTask::getDeptId, bladeUser.getDeptId());
}
List<WorkOrder> workOrders = workOrderService.list(orderWrappers);
List<MaintenanceTask> tasks = maintenanceTaskService.list(taskWrappers);
@ -167,10 +190,15 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/pieStat")
public R<Map<String, Object>> pieStat(String startTime, String endTime) {
BladeUser bladeUser = AuthUtil.getUser();
Map<String, Object> map = new HashMap<>();
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime);
Long limsId = null;
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
limsId = Long.parseLong(bladeUser.getDeptId());
}
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,limsId);
map.put("fault", fault);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,limsId);
map.put("device", device);
return R.data(map);
}
@ -198,7 +226,7 @@ public class WorkBenchesController extends BladeController {
public R<List<Map<String, Object>>> limsInspecList(String perType) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
List<Map<String, Object>> list = new ArrayList<>();
List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).isNotNull(MaintenanceTask::getStartTime).orderByDesc(MaintenanceTask::getStartTime));
List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).isNotNull(MaintenanceTask::getStartTime).eq(BaseEntity::getCreateDept,AuthUtil.getDeptId()).orderByDesc(MaintenanceTask::getStartTime));
for (MaintenanceTask task : tasks) {
Map<String, Object> map = new HashMap<>();
map.put("name", task.getDeptName() + "-设备巡检");
@ -224,27 +252,34 @@ public class WorkBenchesController extends BladeController {
int todoCount = 0;
int finish = 0;
BladeUser user = AuthUtil.getUser();
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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 ("0".equals(perType)) {
// 客服今日待办
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, KH_ORDER_SUBMIT.getValue(), KH_EVALUATE_FINISH.getValue()));
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, KH_ORDER_SUBMIT.getValue(), KH_EVALUATE_FINISH.getValue()).in(BaseEntity::getCreateDept,deptIds));
// 客服今日已办
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end));
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end).in(BaseEntity::getCreateDept,deptIds));
} else if ("1".equals(perType)) {
// 主管今日待办
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, WX_REPAIR_PLAN_SUBMIT.getValue()));
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, WX_REPAIR_PLAN_SUBMIT.getValue()).in(BaseEntity::getCreateDept,deptIds));
// 主管今日已办
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end));
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end).in(BaseEntity::getCreateDept,deptIds));
}
LocalDate now = LocalDate.now();
// 本月已办结-需求提报
int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getMonthStartAsDate(now), getMonthEndAsDate(now)));
int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds));
// 本月已办结-巡检任务
int monthCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getMonthStartAsDate(now), getMonthEndAsDate(now)));
int monthCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds));
// 今年已办结-需求提报
int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getYearStartAsDate(now), getYearEndAsDate(now)));
int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds));
// 今年已办结-巡检任务
int yearCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getYearStartAsDate(now), getYearEndAsDate(now)));
int yearCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds));
map1.put("title", "我的任务");
map1.put("mainName", "今日待办");
@ -263,9 +298,9 @@ public class WorkBenchesController extends BladeController {
map3.put("mainName", "巡检签约");
map3.put("subName", "巡检");
// 巡检计划签约数量
int count = (int) maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class));
int count = (int) maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class).eq(BaseEntity::getCreateDept,user.getDeptId()));
// 巡检次数
int xjCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()));
int xjCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).eq(BaseEntity::getCreateDept,user.getDeptId()));
map3.put("num", count);
map3.put("num1", xjCount);
} else if ("1".equals(perType)) {
@ -273,7 +308,7 @@ public class WorkBenchesController extends BladeController {
map3.put("mainName", "在岗");
map3.put("subName", "总计");
// 维修人员数量
long count = userService.count(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getRoleId, 1839552581620793346L));
long count = userService.count(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getRoleId, 1839552581620793346L).eq(BaseEntity::getCreateDept,user.getDeptId()));
map3.put("num", count);
map3.put("num1", count);
}
@ -288,10 +323,17 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/limsInspecChart")
public R<Map<String, Object>> limsInspecChart(String startTime, String endTime, String perType) {
BladeUser user = AuthUtil.getUser();
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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());
}
Map<String, Object> map = new HashMap<>();
List<String> xData = new ArrayList<>();
List<Integer> total = new ArrayList<>();
List<PieStatVO> list = workOrderService.selectDeptCount(startTime, endTime);
List<PieStatVO> list = workOrderService.selectDeptCount(startTime, endTime, deptIds);
for (PieStatVO pieStatVO : list) {
xData.add(pieStatVO.getName());
total.add(pieStatVO.getValue());
@ -306,10 +348,15 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/faultRatio")
public R<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) {
BladeUser bladeUser = AuthUtil.getUser();
Map<String, Object> map = new HashMap<>();
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime);
Long limsId = null;
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
limsId = Long.parseLong(bladeUser.getDeptId());
}
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,limsId);
map.put("fault", fault);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,limsId);
map.put("rate", device);
return R.data(map);
}

@ -20,6 +20,7 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.enums.WorkOrderStatusEnum;
@ -46,6 +47,7 @@ import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.*;
import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
* 工单表 控制器
@ -83,6 +85,14 @@ public class WorkOrderController extends BladeController {
public R<IPage<WorkOrder>> page(WorkOrderDTO workOrderDTO, Query query) {
// 创建工作订单的查询条件包装器
LambdaQueryWrapper<WorkOrder> wrapper = Wrappers.lambdaQuery(WorkOrder.class);
//客服、维修负责人查询所属运维中心下所有实验室的需求提报
BladeUser user = AuthUtil.getUser();
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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 (StringUtils.isNotBlank(workOrderDTO.getDataType())) {
@ -95,10 +105,12 @@ 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);
break;
case "3":
// 维修负责人
wrapper.ge(WorkOrder::getStatus, WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue());
wrapper.in(WorkOrder::getReportUnit,deptIds);
break;
case "4":
// 维修人员
@ -120,10 +132,10 @@ public class WorkOrderController extends BladeController {
wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime());
wrapper.orderByDesc(WorkOrder::getCreateTime);
if (StringUtils.isNotBlank(workOrderDTO.getReportUnitName())) {
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).like(Dept::getDeptName, workOrderDTO.getReportUnitName()));
if (!deptList.isEmpty()) {
List<Dept> deptList1 = deptService.list(Wrappers.lambdaQuery(Dept.class).like(Dept::getDeptName, workOrderDTO.getReportUnitName()));
if (!deptList1.isEmpty()) {
wrapper.and(w -> {
for (Dept dept : deptList) {
for (Dept dept : deptList1) {
w.or().eq(WorkOrder::getReportUnit, dept.getId());
}
});

@ -9,6 +9,7 @@ import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.UserCache;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
@ -69,8 +70,12 @@ public class ApplyController extends BladeController {
wrapper.orderByDesc(Apply::getCreateTime);
wrapper.eq(apply.getIsReturn() != null, Apply::getIsReturn, apply.getIsReturn());
wrapper.eq(StringUtils.isNotBlank(apply.getApplyUser()), Apply::getApplyUser, apply.getApplyUser());
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin") && !user.getRoleName().contains("库管员")) {
wrapper.eq(Apply::getApplyUserId,user.getUserId());
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
if(user.getRoleName().contains("库管员") || user.getRoleName().contains("维修负责人")){
wrapper.eq(BaseEntity::getCreateDept,user.getDeptId());
}else{
wrapper.eq(Apply::getApplyUserId,user.getUserId());
}
}
IPage<Apply> pages = applyService.page(Condition.getPage(query), wrapper);
List<Apply> records = pages.getRecords();

@ -13,13 +13,16 @@ import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.excel.supplies.GoodsExcel;
import org.springblade.modules.business.excel.supplies.GoodsImporter;
import org.springblade.modules.business.pojo.entity.supplies.Goods;
import org.springblade.modules.business.pojo.entity.supplies.GoodsDetail;
import org.springblade.modules.business.pojo.vo.supplies.GoodsVO;
import org.springblade.modules.business.service.supplies.IGoodsDetailService;
import org.springblade.modules.business.service.supplies.IGoodsService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -45,6 +48,7 @@ import static org.springblade.common.enums.DictBizEnum.MAJOR_TYPE;
public class GoodsController extends BladeController {
private final IGoodsService goodsService;
private final IGoodsDetailService goodsDetailService;
/**
* 物品表 详情
@ -92,7 +96,9 @@ public class GoodsController extends BladeController {
@ApiOperationSupport(order = 4)
public R save(@RequestBody Goods goods) {
goods.setCode("编码格式待定");
goods.setAllEnterNum(0);
goods.setAllEnterNum(goods.getNum());
GoodsDetail goodsDetail = BeanUtil.copyProperties(goods,GoodsDetail.class);
goodsDetailService.save(goodsDetail);
return R.status(goodsService.save(goods));
}

@ -0,0 +1,66 @@
package org.springblade.modules.business.contraller.supplies;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.DictBizCache;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.excel.supplies.GoodsExcel;
import org.springblade.modules.business.excel.supplies.GoodsImporter;
import org.springblade.modules.business.pojo.entity.supplies.Goods;
import org.springblade.modules.business.pojo.entity.supplies.GoodsDetail;
import org.springblade.modules.business.pojo.vo.supplies.GoodsVO;
import org.springblade.modules.business.service.supplies.IGoodsDetailService;
import org.springblade.modules.business.service.supplies.IGoodsService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.springblade.common.enums.DictBizEnum.GOODS_TYPE;
import static org.springblade.common.enums.DictBizEnum.MAJOR_TYPE;
/**
* 物品表 控制器
*
* @author BladeX
* @since 2024-10-14
*/
@RestController
@AllArgsConstructor
@RequestMapping("/goodsDetail")
public class GoodsDetailController extends BladeController {
private final IGoodsDetailService goodsDetailService;
/**
* 物品明细表 自定义分页
*/
@GetMapping("/page")
public R<IPage<GoodsDetail>> page(GoodsDetail goodsDetail, Query query) {
IPage<GoodsDetail> pages = goodsDetailService.selectGoodsDetailPage(Condition.getPage(query), goodsDetail);
return R.data(pages);
}
}

@ -38,7 +38,7 @@ public interface DeviceMapper extends BaseMapper<Device> {
*/
List<DeviceExcel> exportDevice(@Param("ew") Wrapper<Device> queryWrapper);
List<PieStatVO> selectTypeCount(String startTime, String endTime);
List<PieStatVO> selectTypeCount(String startTime, String endTime, Long limsId);
List<PieStatVO> selectStatusCount(String startTime, String endTime);
List<PieStatVO> selectStatusCount(String startTime, String endTime, Long limsId);
}

@ -22,6 +22,9 @@
FROM
`lab_device`
WHERE is_deleted = 0 and type is not null
<if test="limsId != null">
and lims_id = #{limsId}
</if>
GROUP BY type
</select>
<select id="selectStatusCount" resultType="org.springblade.modules.business.pojo.vo.PieStatVO">
@ -36,6 +39,9 @@
`lab_device`
WHERE
is_deleted = 0 and run_status is not null
<if test="limsId != null">
and lims_id = #{limsId}
</if>
GROUP BY
run_status
</select>

@ -0,0 +1,36 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.modules.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.business.pojo.entity.supplies.GoodsDetail;
import org.springblade.modules.business.pojo.vo.supplies.GoodsVO;
import java.util.List;
/**
* 物品明细表 Mapper 接口
*
* @author BladeX
* @since 2024-10-17
*/
public interface GoodsDetailMapper extends BaseMapper<GoodsDetail> {
List<GoodsDetail> selectGoodsDetailPage(IPage page, GoodsDetail goodsDetail);
}

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.business.mapper.GoodsDetailMapper">
<!-- 通用查询映射结果 -->
<resultMap id="goodsDetailResultMap" type="org.springblade.modules.business.pojo.entity.supplies.GoodsDetail">
<result column="id" property="id"/>
<result column="big_class_id" property="bigClassId"/>
<result column="big_class" property="bigClass"/>
<result column="name" property="name"/>
<result column="unit" property="unit"/>
<result column="code" property="code"/>
<result column="xh" property="xh"/>
<result column="rule" property="rule"/>
<result column="manufacturer" property="manufacturer"/>
<result column="company_id" property="companyId"/>
<result column="company" property="company"/>
<result column="brand" property="brand"/>
<result column="type" property="type"/>
<result column="location" property="location"/>
<result column="ccfs" property="ccfs"/>
<result column="yt" property="yt"/>
<result column="danger" property="danger"/>
<result column="status" property="status"/>
<result column="create_dept" property="createDept"/>
<result column="create_user" property="createUser"/>
<result column="create_time" property="createTime"/>
<result column="update_user" property="updateUser"/>
<result column="update_time" property="updateTime"/>
<result column="is_deleted" property="isDeleted"/>
<result column="inventory_id" property="inventoryId"/>
</resultMap>
<select id="selectGoodsDetailPage" resultMap="goodsDetailResultMap">
select * from lab_goods_detail
<where>
is_deleted = 0
<if test="goodsDetail.inventoryId != null and goodsDetail.inventoryId != ''">
and inventory_id = #{goodsDetail.inventoryId}
</if>
</where>
</select>
</mapper>

@ -22,6 +22,6 @@ public interface InvoiceApplyMapper extends BaseMapper<InvoiceApply> {
*
* @return
*/
List<Map<String, Object>> finishWorkList(@Param("offset") int offset, @Param("size") int size);
List<Map<String, Object>> finishWorkList(@Param("offset") int offset, @Param("size") int size,@Param("deptIds") List<String> deptIds);
int finishWorkListCount();
}

@ -10,12 +10,24 @@ from (
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
<if test="deptIds != null">
and wo.report_unit in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
UNION ALL
SELECT 2 as business_type, mt.id as business_id, mt.task_code as buseness_code, u.`name` as serviceman, COUNT(mtd.price) as price
from lab_maintenance_task mt
left join blade_user u on mt.serviceman_id = u.id
left join lab_maintenance_task_detail mtd on mt.id = mtd.task_id
WHERE mt.is_deleted= 0 and mt.repair_status = 7
<if test="deptIds != null">
and mt.dept_id in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
group by mt.id, mt.task_code
) t
left join lab_invoice_apply_detail d on t.business_id = d.business_id

@ -20,7 +20,7 @@ public interface MaintenanceTaskMapper extends BaseMapper<MaintenanceTask> {
List<MaintenanceTaskVO> limsTaskList(@Param("deptId") String deptId);
List<Map<String,String>> selectMaintenanceTaskCount();
List<Map<String,String>> selectMaintenanceTaskCount(@Param("deptId") String deptId);
List<Map<String,Object>> selectMaintenanceTaskStatus(@Param("startTimeBegin")String startTimeBegin,@Param("startTimeEnd")String startTimeEnd);
List<Map<String,Object>> selectMaintenanceTaskStatus(@Param("startTimeBegin")String startTimeBegin,@Param("startTimeEnd")String startTimeEnd,@Param("deptId") String deptId);
}

@ -31,10 +31,19 @@
<select id="selectMaintenanceTaskCount" resultType="map">
select count(1) as "count","总数量" as "name" from lab_maintenance_task where is_deleted = 0
<if test="deptId != null and deptId != ''">
AND dept_id = #{deptId}
</if>
UNION
select count(1) as "count","维保中" as "name" from lab_maintenance_task where task_status != 4 and is_deleted = 0
<if test="deptId != null and deptId != ''">
AND dept_id = #{deptId}
</if>
UNION
select count(1) as "count","已维保" as "name" from lab_maintenance_task where task_status = 4 and is_deleted = 0
<if test="deptId != null and deptId != ''">
AND dept_id = #{deptId}
</if>
</select>
<select id="selectMaintenanceTaskStatus" resultType="map">
@ -59,6 +68,9 @@
<if test="startTimeEnd != null and startTimeEnd != ''">
AND start_time <![CDATA[<=]]> #{startTimeEnd}
</if>
<if test="deptId != null and deptId != ''">
AND dept_id = #{deptId}
</if>
GROUP BY
taskStatus,DATE_FORMAT(start_time,'%Y-%m')
</select>

@ -39,19 +39,19 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrder> {
*/
List<WorkOrderExcel> exportWorkOrder(@Param("ew") Wrapper<WorkOrder> queryWrapper);
List<PieStatVO> selectDeptCount(String startTime, String endTime);
List<PieStatVO> selectDeptCount(String startTime, String endTime,List<String> deptIds);
List<Map<String,String>> selectFaultEquipTop5();
List<Map<String,String>> selectFaultEquipTop5(String deptId);
List<Map<String,String>> selectEquipOverview();
List<Map<String,String>> selectEquipOverview(String deptId);
List<Map<String,String>> selectEquipRepairCount();
List<Map<String,Object>> selectEquipRepairCountByMonth(@Param("deviceId")String deviceId);
List<Map<String,Object>> selectAverageFaultResponseTime(List<String> monthList);
List<Map<String,Object>> selectAverageFaultResponseTime(List<String> monthList,@Param("deptId") String deptId);
List<Map<String,Object>> selectAverageFaultRepairTime(List<String> monthList);
List<Map<String,Object>> selectAverageFaultRepairTime(@Param("monthList") List<String> monthList,@Param("deptId") String deptId);

@ -24,6 +24,12 @@
LEFT JOIN blade_dept b ON a.create_dept = b.id
WHERE
a.is_deleted = 0 AND a.STATUS != -1 AND b.dept_name IS NOT NULL
<if test="deptIds != null">
and create_dept in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
GROUP BY
b.dept_name
</select>
@ -40,6 +46,9 @@
AND device_name IS NOT NULL
AND device_name != ''
AND is_deleted = 0
<if test="deptId != null and deptId != ''">
and report_unit = #{deptId}
</if>
GROUP BY
device_id
ORDER BY
@ -48,12 +57,24 @@
</select>
<select id="selectEquipOverview" resultType="map">
select count(1) as "count","设备总数" as "name" from lab_device where is_deleted = 0
<if test="deptId != null and deptId != ''">
and lims_id = #{deptId}
</if>
UNION
select count(1) as "count","维修设备" as "name" from lab_device where run_status = 2 AND is_deleted = 0
<if test="deptId != null and deptId != ''">
and lims_id = #{deptId}
</if>
UNION
select count(1) as "count","在保设备" as "name" from lab_device where is_warran = 0 AND is_deleted = 0
<if test="deptId != null and deptId != ''">
and lims_id = #{deptId}
</if>
UNION
select count(1) as "count","未保设备" as "name" from lab_device where is_deleted = 0 AND (is_warran != 0 or is_warran is null)
<if test="deptId != null and deptId != ''">
and lims_id = #{deptId}
</if>
</select>
<select id="selectEquipRepairCount" resultType="map">
@ -90,6 +111,9 @@
<foreach collection="monthList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="deptId != null and deptId != ''">
and report_unit = #{deptId}
</if>
group by DATE_FORMAT( create_time, '%Y-%m' )
order by create_time
</select>
@ -105,6 +129,9 @@
<foreach collection="monthList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="deptId != null and deptId != ''">
and report_unit = #{deptId}
</if>
group by DATE_FORMAT( create_time, '%Y-%m' )
order by create_time
</select>

@ -223,4 +223,9 @@ public class MaintenanceTask extends BaseEntity {
*/
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double totalPrice;
/**
* 维修完成图片url
*/
private String completeImgList;
}

@ -0,0 +1,143 @@
package org.springblade.modules.business.pojo.entity.supplies;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.util.Date;
/**
* 物品表 实体类
*
* @author BladeX
* @since 2024-10-17
*/
@Data
@TableName("lab_goods_detail")
@EqualsAndHashCode(callSuper = true)
public class GoodsDetail extends BaseEntity {
/**
* 类型Id
*/
private String bigClassId;
@TableField(exist = false)
private String bigClassName;
/**
* 类型
*/
private String bigClass;
/**
* 物品名称
*/
private String name;
/**
* 单位
*/
private String unit;
/**
* 物品编号
*/
private String code;
/**
* 物品型号
*/
private String xh;
/**
* 物品规格
*/
private String rule;
/**
* 生产厂家
*/
private String manufacturer;
/**
* 供应商Id
*/
private Long companyId;
/**
* 供应商名称
*/
private String company;
/**
* 品牌
*/
private String brand;
/**
* 资产类型
*/
private String type;
/**
* 存储位置
*/
private String location;
/**
* 存储方式
*/
private String ccfs;
/**
* 用途
*/
private String yt;
/**
* 是否危化品
*/
private Integer danger;
/**
* 备注
*/
private String remark;
/**
* 库存id
*/
private String inventoryId;
/**
* 采购价格
*/
private Double purchasePrice;
/**
* 统一报价
*/
private Double unifiedQuotation;
/**
* 续订时间
*/
@JsonSerialize(nullsUsing = NullSerializer.class)
private Integer renewNum;
/**
* 入库数量
*/
private Integer enterNum;
/**
* 描述
*/
private String describes;
/**
* 仓库id
*/
private Long warehouseId;
/**
* 仓库名称
*/
private String warehouseName;
}

@ -262,4 +262,9 @@ public class WorkOrder extends BaseEntity {
*/
@TableField(exist = false)
private String repairPersonName;
/**
* 维修完成图片url
*/
private String completeImgList;
}

@ -43,9 +43,9 @@ public interface IDeviceService extends BaseService<Device> {
boolean qrcode(Device device);
List<PieStatVO> selectTypeCount(String startTime, String endTime);
List<PieStatVO> selectTypeCount(String startTime, String endTime, Long limsId);
List<PieStatVO> selectStatusCount(String startTime, String endTime);
List<PieStatVO> selectStatusCount(String startTime, String endTime, Long limsId);
void importDevice(List<DeviceImportExcel> data);

@ -6,6 +6,8 @@ import org.springblade.core.mp.support.Query;
import org.springblade.modules.business.pojo.dto.InvoiceApplyDto;
import org.springblade.modules.business.pojo.entity.InvoiceApply;
import java.util.List;
/**
* 发票申请表 服务类
*
@ -19,7 +21,7 @@ public interface IInvoiceApplyService extends BaseService<InvoiceApply> {
*
* @return
*/
IPage finishWorkList(Query query);
IPage finishWorkList(Query query, List<String> deptIds);
/**
* 保存并提交

@ -76,7 +76,7 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
boolean updateAttach(WorkOrderVO workOrder);
List<PieStatVO> selectDeptCount(String startTime, String endTime);
List<PieStatVO> selectDeptCount(String startTime, String endTime, List<String> deptIds);
public List<MaintenancePersonnel> searchMaintenancePersonnel(Long id);

@ -151,13 +151,13 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceMapper, Device> imp
}
@Override
public List<PieStatVO> selectTypeCount(String startTime, String endTime) {
return baseMapper.selectTypeCount(startTime, endTime);
public List<PieStatVO> selectTypeCount(String startTime, String endTime, Long limsId) {
return baseMapper.selectTypeCount(startTime, endTime,limsId);
}
@Override
public List<PieStatVO> selectStatusCount(String startTime, String endTime) {
return baseMapper.selectStatusCount(startTime, endTime);
public List<PieStatVO> selectStatusCount(String startTime, String endTime, Long limsId) {
return baseMapper.selectStatusCount(startTime, endTime,limsId);
}
/*@Override

@ -44,11 +44,11 @@ public class InvoiceApplyServiceImpl extends BaseServiceImpl<InvoiceApplyMapper,
@Override
public IPage finishWorkList(Query query) {
public IPage finishWorkList(Query query,List<String> deptIds) {
int startPage = query == null || query.getCurrent() == null ? 1 : query.getCurrent();
int size = query == null || query.getSize() == null ? 10 : query.getSize();
List<Map<String, Object>> data = baseMapper.finishWorkList((startPage - 1) * size, size);
List<Map<String, Object>> data = baseMapper.finishWorkList((startPage - 1) * size, size, deptIds);
int total = baseMapper.finishWorkListCount();
IPage page = new Page(startPage, size);

@ -10,6 +10,8 @@ import lombok.RequiredArgsConstructor;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.utils.CommonDateUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.business.excel.MaintenanceTaskDetailExcel;
import org.springblade.modules.business.pojo.entity.MaintenanceTaskDetailGoods;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskDetailVO;
@ -145,7 +147,12 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskM
@Override
public List<Map<String, String>> selectMaintenanceTaskCount() {
return baseMapper.selectMaintenanceTaskCount();
BladeUser user = AuthUtil.getUser();
String deptId = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
deptId = user.getDeptId();
}
return baseMapper.selectMaintenanceTaskCount(deptId);
}
@Override
@ -154,7 +161,12 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskM
String startDate = startTimeBegin + " 00:00:00";
String endDate = startTimeEnd + " 23:59:59";
List<String> monthList = CommonDateUtil.getMonthList(startDate,endDate,"yyyy-MM");
List<Map<String, Object>> list = baseMapper.selectMaintenanceTaskStatus(startTimeBegin,startTimeEnd);
BladeUser user = AuthUtil.getUser();
String deptId = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
deptId = user.getDeptId();
}
List<Map<String, Object>> list = baseMapper.selectMaintenanceTaskStatus(startTimeBegin,startTimeEnd,deptId);
Map<String,String> dxjMap = new HashMap<>();
Map<String,String> xjzMap = new HashMap<>();
Map<String,String> dqrMap = new HashMap<>();

@ -24,6 +24,7 @@ import org.springblade.common.utils.CommonDateUtil;
import org.springblade.common.utils.LogUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
@ -282,8 +283,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
@Override
public List<PieStatVO> selectDeptCount(String startTime, String endTime) {
return baseMapper.selectDeptCount(startTime, endTime);
public List<PieStatVO> selectDeptCount(String startTime, String endTime, List<String> deptIds) {
return baseMapper.selectDeptCount(startTime, endTime,deptIds);
}
@Transactional(rollbackFor = Exception.class)
@ -318,12 +319,22 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Override
public List<Map<String, String>> selectFaultEquipTop5() {
return baseMapper.selectFaultEquipTop5();
BladeUser user = AuthUtil.getUser();
String deptId = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
deptId = user.getDeptId();
}
return baseMapper.selectFaultEquipTop5(deptId);
}
@Override
public List<Map<String, String>> selectEquipOverview() {
return baseMapper.selectEquipOverview();
BladeUser user = AuthUtil.getUser();
String deptId = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
deptId = user.getDeptId();
}
return baseMapper.selectEquipOverview(deptId);
}
@Override
@ -360,7 +371,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
String startDate = startMonth + "-01 00:00:00";
String endDate = endMonth + "-01 23:59:59";
List<String> monthList = CommonDateUtil.getMonthList(startDate, endDate, "yyyy-MM");
List<Map<String, Object>> list = baseMapper.selectAverageFaultResponseTime(monthList);
BladeUser user = AuthUtil.getUser();
String deptId = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
deptId = user.getDeptId();
}
List<Map<String, Object>> list = baseMapper.selectAverageFaultResponseTime(monthList,deptId);
List<String> dataList = new ArrayList<>();
Map<String, String> dataMap = new HashMap<>();
for (Map<String, Object> map1 : list) {
@ -385,7 +401,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
String startDate = startMonth + "-01 00:00:00";
String endDate = endMonth + "-01 23:59:59";
List<String> monthList = CommonDateUtil.getMonthList(startDate, endDate, "yyyy-MM");
List<Map<String, Object>> list = baseMapper.selectAverageFaultRepairTime(monthList);
BladeUser user = AuthUtil.getUser();
String deptId = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
deptId = user.getDeptId();
}
List<Map<String, Object>> list = baseMapper.selectAverageFaultRepairTime(monthList,deptId);
List<String> dataList = new ArrayList<>();
Map<String, String> dataMap = new HashMap<>();
for (Map<String, Object> map1 : list) {

@ -0,0 +1,40 @@
package org.springblade.modules.business.service.impl.supplies;
import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.modules.business.excel.supplies.GoodsExcel;
import org.springblade.modules.business.mapper.GoodsDetailMapper;
import org.springblade.modules.business.mapper.GoodsMapper;
import org.springblade.modules.business.pojo.entity.supplies.Goods;
import org.springblade.modules.business.pojo.entity.supplies.GoodsDetail;
import org.springblade.modules.business.pojo.entity.supplies.WareHouse;
import org.springblade.modules.business.pojo.vo.supplies.GoodsVO;
import org.springblade.modules.business.service.supplies.IGoodsDetailService;
import org.springblade.modules.business.service.supplies.IGoodsService;
import org.springblade.modules.business.service.supplies.IWareHouseService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 物品表 服务实现类
*
* @author BladeX
* @since 2024-10-17
*/
@Service
@AllArgsConstructor
public class GoodsDetailServiceImpl extends BaseServiceImpl<GoodsDetailMapper, GoodsDetail> implements IGoodsDetailService {
@Override
public IPage<GoodsDetail> selectGoodsDetailPage(IPage<GoodsDetail> page, GoodsDetail goodsDetail) {
return page.setRecords(baseMapper.selectGoodsDetailPage(page, goodsDetail));
}
}

@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.modules.business.pojo.entity.supplies.Goods;
import org.springblade.modules.business.pojo.entity.supplies.GoodsDetail;
import org.springblade.modules.business.pojo.entity.supplies.InOrder;
import org.springblade.modules.business.excel.supplies.InOrderExcel;
import org.springblade.modules.business.mapper.InOrderMapper;
import org.springblade.modules.business.pojo.entity.supplies.InOrderDetail;
import org.springblade.modules.business.service.supplies.IGoodsDetailService;
import org.springblade.modules.business.service.supplies.IGoodsService;
import org.springblade.modules.business.service.supplies.IInOrderDetailService;
import org.springblade.modules.business.service.supplies.IInOrderService;
@ -18,6 +21,7 @@ import org.springblade.modules.business.pojo.vo.supplies.InOrderVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@ -34,6 +38,7 @@ public class InOrderServiceImpl extends BaseServiceImpl<InOrderMapper, InOrder>
private final IInOrderDetailService iInOrderDetailService;
private final IGoodsService goodsService;
private final IGoodsDetailService goodsDetailService;
@Override
public IPage<InOrderVO> selectInOrderPage(IPage<InOrderVO> page, InOrderVO inOrder) {
@ -68,14 +73,20 @@ public class InOrderServiceImpl extends BaseServiceImpl<InOrderMapper, InOrder>
// 修改库存
if (CollectionUtil.isNotEmpty(goodsList)) {
List<GoodsDetail> goodsDetailList = new ArrayList<>();
for (Goods goods : goodsList) {
for (InOrderDetail inOrderDetail : detailList) {
if (goods.getId().equals(inOrderDetail.getGoodsId())) {
goods.setNum(goods.getNum() + inOrderDetail.getNum());
GoodsDetail goodsDetail = BeanUtil.copyProperties(goods,GoodsDetail.class);
goodsDetail.setInventoryId(null);
goodsDetail.setEnterNum(inOrderDetail.getNum());
goodsDetailList.add(goodsDetail);
break;
}
}
}
goodsDetailService.saveBatch(goodsDetailList);
goodsService.updateBatchById(goodsList);
}

@ -0,0 +1,24 @@
package org.springblade.modules.business.service.supplies;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.business.excel.supplies.GoodsExcel;
import org.springblade.modules.business.pojo.entity.supplies.Goods;
import org.springblade.modules.business.pojo.entity.supplies.GoodsDetail;
import org.springblade.modules.business.pojo.vo.supplies.GoodsVO;
import java.util.List;
/**
* 物品表 服务类
*
* @author BladeX
* @since 2024-10-17
*/
public interface IGoodsDetailService extends BaseService<GoodsDetail> {
IPage<GoodsDetail> selectGoodsDetailPage(IPage<GoodsDetail> page, GoodsDetail goodsDetail);
}

@ -42,24 +42,30 @@ import org.springblade.common.enums.DictEnum;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.pojo.vo.DeptVO;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.wrapper.DeptWrapper;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
@ -76,6 +82,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
public class DeptController extends BladeController {
private final IDeptService deptService;
private final IUserService userService;
/**
* 详情
@ -193,7 +200,14 @@ public class DeptController extends BladeController {
*/
@GetMapping("/limsTree")
public R<List<DeptVO>> limsTree(String tenantId) {
List<DeptVO> tree = deptService.limsTree(Func.toStrWithEmpty(tenantId, "000000"));
BladeUser user = AuthUtil.getUser();
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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<DeptVO> tree = deptService.limsTree(Func.toStrWithEmpty(tenantId, "000000"),deptIds);
return R.data(tree);
}
@ -202,7 +216,14 @@ public class DeptController extends BladeController {
*/
@GetMapping("/assLimsTree")
public R<List<DeptVO>> assLimsTree(String tenantId) {
List<DeptVO> tree = deptService.assLimsTree(Func.toStrWithEmpty(tenantId, "000000"));
BladeUser user = AuthUtil.getUser();
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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<DeptVO> tree = deptService.assLimsTree(Func.toStrWithEmpty(tenantId, "000000"),deptIds);
return R.data(tree);
}

@ -357,9 +357,8 @@ public class UserController {
@GetMapping("/repairPersons")
@Operation(summary = "获取维修人员", description = "获取维修人员")
public R<List<User>> repairPersons(boolean isRepair) {
// User user = UserCache.getUser(AuthUtil.getUserId());
// List<User> users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getDeptId, user.getDeptId()).ne(isRepair, User::getRoleId, user.getRoleId()));
List<User> users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, "1839552581620793346"));
BladeUser user = AuthUtil.getUser();
List<User> users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, "1839552581620793346").eq(User::getDeptId,user.getDeptId()));
return R.data(users);
}

@ -109,20 +109,13 @@ public class UserRegisterController {
@Operation(summary = "审核通过", description = "传入id集合")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R auditPass(@RequestBody User user) {
// 审核通过,根据用户部门名称,设置部门id或新增加部门
String deptName = user.getDeptName();
Dept dept = deptService.getByDeptName(deptName);
if (Func.isEmpty(dept)) {
dept = new Dept();
dept.setDeptName(deptName);
dept.setFullName(deptName);
deptService.submit(dept);
}
user = userService.getById(user.getId());
user.setDeptId(String.valueOf(dept.getId()));
user.setStatus(1);
return R.status(userService.updateUser(user));
User user1 = userService.getById(user.getId());
user1.setDeptId(user.getDeptId());
user1.setParentDeptId(user.getParentDeptId());
user1.setDeptName(user.getDeptName());
user1.setParentDeptName(user.getParentDeptName());
user1.setStatus(1);
return R.status(userService.updateUser(user1));
}
/**

@ -63,7 +63,7 @@ public interface DeptMapper extends BaseMapper<Dept> {
* @param tenantId
* @return
*/
List<DeptVO> noAssLimsTree(String tenantId);
List<DeptVO> noAssLimsTree(@Param("tenantId") String tenantId,@Param("deptIds") List<String> deptIds);
/**
* 获取已绑定绑定实验室列表
@ -71,7 +71,7 @@ public interface DeptMapper extends BaseMapper<Dept> {
* @param tenantId
* @return
*/
List<DeptVO> assLimsTree(String tenantId);
List<DeptVO> assLimsTree(@Param("tenantId") String tenantId,@Param("deptIds") List<String> deptIds);
/**
* 懒加载获取树形节点

@ -63,6 +63,9 @@
<if test="param3.fullName!=null and param3.fullName!=''">
and dept.full_name like concat(concat('%', #{param3.fullName}),'%')
</if>
<if test="param3.deptCategory!=null and param3.deptCategory!=''">
and dept.dept_category = #{param3.deptCategory}
</if>
ORDER BY dept.sort
</select>
@ -77,8 +80,14 @@
<select id="noAssLimsTree" resultMap="treeNodeResultMap">
select id, parent_id, dept_name as title, id as "value", id as "key" from blade_dept where is_deleted = 0 and dept_category = 5
and id not in (SELECT dept_id FROM lab_maintenance_plan WHERE is_deleted = 0)
<if test="_parameter!=null and _parameter!=''">
and tenant_id = #{_parameter}
<if test="tenantId!=null and tenantId!=''">
and tenant_id = #{tenantId}
</if>
<if test="deptIds != null">
and id in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
ORDER BY sort
</select>
@ -122,8 +131,14 @@
</select>
<select id="assLimsTree" resultMap="treeNodeResultMap">
select id, parent_id, dept_name as title, id as "value", id as "key" from blade_dept where is_deleted = 0 and dept_category = 5
<if test="_parameter!=null and _parameter!=''">
and tenant_id = #{_parameter}
<if test="tenantId!=null and tenantId!=''">
and tenant_id = #{tenantId}
</if>
<if test="deptIds != null">
and id in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
ORDER BY sort
</select>

@ -128,5 +128,6 @@ public class Dept implements Serializable {
private String cityCode;
private String labAddress;
}

@ -132,4 +132,14 @@ public class User extends TenantEntity {
*/
private String largeScreenPic;
/**
* 上级部门id
*/
private String parentDeptId;
/**
* 上级部门id
*/
private String parentDeptName;
}

@ -138,12 +138,12 @@ public interface IDeptService extends IService<Dept> {
* @param tenantId
* @return
*/
List<DeptVO> limsTree(String tenantId);
List<DeptVO> limsTree(String tenantId,List<String> deptIds);
/**
* 获取已绑定实验室
* @param tenantId
* @return
*/
List<DeptVO> assLimsTree(String tenantId);
List<DeptVO> assLimsTree(String tenantId,List<String> deptIds);
}

@ -184,13 +184,13 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
}
@Override
public List<DeptVO> limsTree(String tenantId) {
return baseMapper.noAssLimsTree(tenantId);
public List<DeptVO> limsTree(String tenantId,List<String> deptIds) {
return baseMapper.noAssLimsTree(tenantId,deptIds);
}
@Override
public List<DeptVO> assLimsTree(String tenantId) {
return baseMapper.assLimsTree(tenantId);
public List<DeptVO> assLimsTree(String tenantId,List<String> deptIds) {
return baseMapper.assLimsTree(tenantId,deptIds);
}
}

Loading…
Cancel
Save