Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package org.dromara.property.controller.BigScreen;
|
||||
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.property.domain.MeetBooking;
|
||||
import org.dromara.property.domain.vo.BigScreen.TodayMeetCountVo;
|
||||
import org.dromara.property.domain.vo.BigScreen.TypeWorkOrderHistogramVo;
|
||||
import org.dromara.property.service.IMeetBookingService;
|
||||
import org.dromara.property.service.IServiceWorkOrdersService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yuyongle
|
||||
* @version 1.0
|
||||
* @description: 大屏接口
|
||||
* @date 2025/9/9 9:57
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/screen")
|
||||
public class ScreenController extends BaseController {
|
||||
|
||||
private final IServiceWorkOrdersService serviceWorkOrdersService;
|
||||
private final IMeetBookingService meetBookingService;
|
||||
|
||||
/**
|
||||
* 大屏工单柱状图
|
||||
*/
|
||||
@GetMapping("/typeWorkOrderHistogram")
|
||||
public R<List<TypeWorkOrderHistogramVo>> typeWorkOrderHistogram() {
|
||||
return R.ok(serviceWorkOrdersService.typeWorkOrderHistogram());
|
||||
}
|
||||
/**
|
||||
* 大屏会议室总数和当天预约数统计
|
||||
*/
|
||||
@GetMapping("/todayMeetCount")
|
||||
public R<TodayMeetCountVo> todayMeetCount() {
|
||||
return R.ok(meetBookingService.todayMeetCount());
|
||||
}
|
||||
}
|
@@ -0,0 +1,106 @@
|
||||
package org.dromara.property.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.property.domain.vo.CleanOrderRecordVo;
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
import org.dromara.property.service.ICleanOrderRecordService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 保洁订单记录
|
||||
* 前端访问路由地址为:/property/orderRecord
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/orderRecord")
|
||||
public class CleanOrderRecordController extends BaseController {
|
||||
|
||||
private final ICleanOrderRecordService cleanOrderRecordService;
|
||||
|
||||
/**
|
||||
* 查询保洁订单记录列表
|
||||
*/
|
||||
@SaCheckPermission("property:orderRecord:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CleanOrderRecordVo> list(CleanOrderRecordBo bo, PageQuery pageQuery) {
|
||||
return cleanOrderRecordService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出保洁订单记录列表
|
||||
*/
|
||||
@SaCheckPermission("property:orderRecord:export")
|
||||
@Log(title = "保洁订单记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CleanOrderRecordBo bo, HttpServletResponse response) {
|
||||
List<CleanOrderRecordVo> list = cleanOrderRecordService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "保洁订单记录", CleanOrderRecordVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取保洁订单记录详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("property:orderRecord:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CleanOrderRecordVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
return R.ok(cleanOrderRecordService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保洁订单记录
|
||||
*/
|
||||
@SaCheckPermission("property:orderRecord:add")
|
||||
@Log(title = "保洁订单记录", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CleanOrderRecordBo bo) {
|
||||
return toAjax(cleanOrderRecordService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保洁订单记录
|
||||
*/
|
||||
@SaCheckPermission("property:orderRecord:edit")
|
||||
@Log(title = "保洁订单记录", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CleanOrderRecordBo bo) {
|
||||
return toAjax(cleanOrderRecordService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除保洁订单记录
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("property:orderRecord:remove")
|
||||
@Log(title = "保洁订单记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable("ids") Long[] ids) {
|
||||
return toAjax(cleanOrderRecordService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
@@ -90,6 +91,13 @@ public class CleanOrderController extends BaseController {
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CleanOrderBo bo) {
|
||||
return toAjax(cleanOrderService.updateByBo(bo));
|
||||
}
|
||||
/**
|
||||
* 指派
|
||||
*/
|
||||
@PostMapping("/assign")
|
||||
public R<Void> assign(@Validated(EditGroup.class) @RequestBody CleanOrderBo bo) {
|
||||
return toAjax(cleanOrderService.assign(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除保洁订单
|
||||
|
@@ -0,0 +1,36 @@
|
||||
package org.dromara.property.controller.mobile;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.property.domain.bo.CustomerActivityBo;
|
||||
import org.dromara.property.domain.vo.CustomerActivityVo;
|
||||
import org.dromara.property.service.ICustomerActivityService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author yuyongle
|
||||
* @version 1.0
|
||||
* @description: 客户服务-活动
|
||||
* @date 2025/9/9 16:45
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/mobile/activity")
|
||||
public class MCustomerActivityController {
|
||||
private final ICustomerActivityService customerActivityService;
|
||||
|
||||
/**
|
||||
* 查询客户服务-活动列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CustomerActivityVo> list(CustomerActivityBo bo, PageQuery pageQuery) {
|
||||
return customerActivityService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
}
|
@@ -6,9 +6,12 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.property.domain.bo.InspectionTaskBo;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.InspectionTaskVo;
|
||||
import org.dromara.property.domain.vo.mobile.MInspectionTaskVo;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
|
||||
import org.dromara.property.service.IInspectionTaskService;
|
||||
import org.dromara.property.service.IServiceWorkOrdersService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -26,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/mobile/inspectionTask")
|
||||
public class MInspectionTaskController extends BaseController {
|
||||
private final IInspectionTaskService inspectionTaskService;
|
||||
private final IServiceWorkOrdersService serviceWorkOrdersService;
|
||||
|
||||
/**
|
||||
* 移动端查询巡检任务列表
|
||||
@@ -34,4 +38,11 @@ public class MInspectionTaskController extends BaseController {
|
||||
public TableDataInfo<MInspectionTaskVo> list(InspectionTaskBo bo, PageQuery pageQuery) {
|
||||
return inspectionTaskService.mQueryPageList(bo, pageQuery);
|
||||
}
|
||||
/**
|
||||
* 小程序查询【工单处理】
|
||||
*/
|
||||
@GetMapping("/mlist")
|
||||
public TableDataInfo<MServiceWorkOrdersVo> mlist(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
|
||||
return serviceWorkOrdersService.queryMobilePageList(bo, pageQuery);
|
||||
}
|
||||
}
|
||||
|
@@ -12,12 +12,16 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersTypeVo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersVo;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
|
||||
import org.dromara.property.service.IServiceWorkOrdersService;
|
||||
import org.dromara.property.service.IServiceWorkOrdersTypeService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 【业务管理-工单处理】
|
||||
*
|
||||
@@ -31,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
public class MServiceWorkOrdersController extends BaseController {
|
||||
|
||||
private final IServiceWorkOrdersService serviceWorkOrdersService;
|
||||
private final IServiceWorkOrdersTypeService serviceWorkOrdersTypeService;
|
||||
|
||||
/**
|
||||
* 小程序新增【工单处理】
|
||||
@@ -56,4 +61,11 @@ public class MServiceWorkOrdersController extends BaseController {
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.updateByBo(bo));
|
||||
}
|
||||
/**
|
||||
* 查询【工单类型】树结构
|
||||
*/
|
||||
@GetMapping("/typeTree")
|
||||
public R<List<ServiceWorkOrdersTypeVo>> typeTrees() {
|
||||
return R.ok(serviceWorkOrdersTypeService.typeTrees());
|
||||
}
|
||||
}
|
||||
|
@@ -37,6 +37,10 @@ public class Clean extends TenantEntity {
|
||||
* 计量单位
|
||||
*/
|
||||
private String measure;
|
||||
/**
|
||||
* 保洁内容
|
||||
*/
|
||||
private String cleanContent;
|
||||
|
||||
/**
|
||||
* 保洁面积
|
||||
|
@@ -0,0 +1,73 @@
|
||||
package org.dromara.property.domain;
|
||||
|
||||
import lombok.experimental.Accessors;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 保洁订单记录对象 clean_order_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName("clean_order_record")
|
||||
public class CleanOrderRecord extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 保洁订单id
|
||||
*/
|
||||
private Long cleanOrderId;
|
||||
|
||||
/**
|
||||
* 状态(1创建订单,2已接单,3处理中4已完成)
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 是否签到(1未签到2签到)
|
||||
*/
|
||||
private String isSign;
|
||||
|
||||
/**
|
||||
* 签到图片
|
||||
*/
|
||||
private String signImg;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
private Long handler;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
private Long initiatorPeople;
|
||||
|
||||
/**
|
||||
* 评价文本
|
||||
*/
|
||||
private String serviceEvaluaText;
|
||||
|
||||
/**
|
||||
* 是否异常(1正常2异常)
|
||||
*/
|
||||
private String isAbnormal;
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,74 @@
|
||||
package org.dromara.property.domain.bo;
|
||||
|
||||
import org.dromara.property.domain.CleanOrderRecord;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* 保洁订单记录业务对象 clean_order_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = CleanOrderRecord.class, reverseConvertGenerate = false)
|
||||
public class CleanOrderRecordBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 保洁订单id
|
||||
*/
|
||||
|
||||
private Long cleanOrderId;
|
||||
|
||||
/**
|
||||
* 状态(1创建订单,2已接单,3处理中4已完成)
|
||||
*/
|
||||
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 是否签到(1未签到2签到)
|
||||
*/
|
||||
|
||||
private String isSign;
|
||||
|
||||
/**
|
||||
* 签到图片
|
||||
*/
|
||||
private String signImg;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
|
||||
private Long handler;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
private Long initiatorPeople;
|
||||
|
||||
/**
|
||||
* 评价文本
|
||||
*/
|
||||
private String serviceEvaluaText;
|
||||
|
||||
/**
|
||||
* 是否异常(1正常2异常)
|
||||
*/
|
||||
private String isAbnormal;
|
||||
|
||||
|
||||
}
|
@@ -50,7 +50,11 @@ public class CleanBo extends BaseEntity {
|
||||
// * 保洁面积
|
||||
// */
|
||||
// private Long area;
|
||||
|
||||
/**
|
||||
* 保洁内容
|
||||
*/
|
||||
@NotBlank(message = "保洁内容不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String cleanContent;
|
||||
/**
|
||||
* 计算方式
|
||||
*/
|
||||
|
@@ -13,6 +13,7 @@ import jakarta.validation.constraints.*;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
|
||||
/**
|
||||
* 保洁订单业务对象 clean_order
|
||||
@@ -148,4 +149,7 @@ public class CleanOrderBo extends BaseEntity {
|
||||
private List<Clean> cleanList;
|
||||
|
||||
|
||||
private CleanOrderRecordBo cleanOrderRecord;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,19 @@
|
||||
package org.dromara.property.domain.vo.BigScreen;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yuyongle
|
||||
* @version 1.0
|
||||
* @description: 大屏类型会议室当天预约统计
|
||||
* @date 2025/9/9 10:17
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class TodayMeetCountVo {
|
||||
private Integer meetCount; // 工单类型(如A, B, C, D)
|
||||
private Integer timeQuantity; // 每个状态的数量
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
package org.dromara.property.domain.vo.BigScreen;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yuyongle
|
||||
* @version 1.0
|
||||
* @description: 大屏类型工单状态柱状图
|
||||
* @date 2025/9/9 10:17
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class TypeWorkOrderHistogramVo {
|
||||
private String type; // 工单类型(如A, B, C, D)
|
||||
private Map<String, Integer> statusCounts; // 每个状态的数量
|
||||
}
|
@@ -0,0 +1,96 @@
|
||||
package org.dromara.property.domain.vo;
|
||||
|
||||
import org.dromara.property.domain.CleanOrderRecord;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 保洁订单记录视图对象 clean_order_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = CleanOrderRecord.class)
|
||||
public class CleanOrderRecordVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 保洁订单id
|
||||
*/
|
||||
@ExcelProperty(value = "保洁订单id")
|
||||
private Long cleanOrderId;
|
||||
/**
|
||||
* 状态(1创建订单,2已接单,3处理中4已完成)
|
||||
*/
|
||||
@ExcelProperty(value = "状态(1创建订单,2已接单,3处理中4已完成)")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 是否签到(1未签到2签到)
|
||||
*/
|
||||
@ExcelProperty(value = "是否签到(1未签到2签到)")
|
||||
private String isSign;
|
||||
|
||||
/**
|
||||
* 签到图片
|
||||
*/
|
||||
@ExcelProperty(value = "签到图片")
|
||||
private String signImg;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private Long handler;
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private String handlerText;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
@ExcelProperty(value = "发起人")
|
||||
private Long initiatorPeople;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
@ExcelProperty(value = "发起人")
|
||||
private String initiatorPeopleText;
|
||||
|
||||
/**
|
||||
* 评价文本
|
||||
*/
|
||||
@ExcelProperty(value = "评价文本")
|
||||
private String serviceEvaluaText;
|
||||
|
||||
/**
|
||||
* 是否异常(1正常2异常)
|
||||
*/
|
||||
@ExcelProperty(value = "是否异常(1正常2异常)")
|
||||
private String isAbnormal;
|
||||
|
||||
|
||||
}
|
@@ -6,7 +6,9 @@ import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.property.domain.CleanOrderRecord;
|
||||
import org.dromara.property.domain.CleanRelation;
|
||||
import org.dromara.property.domain.vo.CleanOrderRecordVo;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@@ -153,6 +155,7 @@ public class CleanOrderVo implements Serializable {
|
||||
private List<Clean> cleanList;
|
||||
|
||||
private List<CleanRelation> relationList;
|
||||
private List<CleanOrderRecordVo> recordVoList;
|
||||
|
||||
|
||||
|
||||
|
@@ -53,7 +53,10 @@ public class CleanVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "计算方式")
|
||||
private String method;
|
||||
|
||||
/**
|
||||
* 保洁内容
|
||||
*/
|
||||
private String cleanContent;
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
|
@@ -0,0 +1,15 @@
|
||||
package org.dromara.property.mapper;
|
||||
|
||||
import org.dromara.property.domain.CleanOrderRecord;
|
||||
import org.dromara.property.domain.vo.CleanOrderRecordVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 保洁订单记录Mapper接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
public interface CleanOrderRecordMapper extends BaseMapperPlus<CleanOrderRecord, CleanOrderRecordVo> {
|
||||
|
||||
}
|
@@ -0,0 +1,69 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.domain.CleanOrderRecord;
|
||||
import org.dromara.property.domain.vo.CleanOrderRecordVo;
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 保洁订单记录Service接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
public interface ICleanOrderRecordService {
|
||||
|
||||
/**
|
||||
* 查询保洁订单记录
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 保洁订单记录
|
||||
*/
|
||||
CleanOrderRecordVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询保洁订单记录列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 保洁订单记录分页列表
|
||||
*/
|
||||
TableDataInfo<CleanOrderRecordVo> queryPageList(CleanOrderRecordBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的保洁订单记录列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 保洁订单记录列表
|
||||
*/
|
||||
List<CleanOrderRecordVo> queryList(CleanOrderRecordBo bo);
|
||||
|
||||
/**
|
||||
* 新增保洁订单记录
|
||||
*
|
||||
* @param bo 保洁订单记录
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(CleanOrderRecordBo bo);
|
||||
|
||||
/**
|
||||
* 修改保洁订单记录
|
||||
*
|
||||
* @param bo 保洁订单记录
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(CleanOrderRecordBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除保洁订单记录信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.domain.MeetBooking;
|
||||
import org.dromara.property.domain.vo.BigScreen.TodayMeetCountVo;
|
||||
import org.dromara.property.domain.vo.MeetBookingAppointmentVo;
|
||||
import org.dromara.property.domain.vo.MeetBookingDetailVo;
|
||||
import org.dromara.property.domain.vo.MeetBookingVo;
|
||||
@@ -85,5 +86,11 @@ public interface IMeetBookingService {
|
||||
* @return
|
||||
*/
|
||||
List<Map<Object, Object>> getMeetBooking(String type);
|
||||
//APP端接口
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
TodayMeetCountVo todayMeetCount();
|
||||
}
|
||||
|
@@ -5,6 +5,8 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.BigScreen.TodayMeetCountVo;
|
||||
import org.dromara.property.domain.vo.BigScreen.TypeWorkOrderHistogramVo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrderAnalysisVo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersInfoVo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersVo;
|
||||
@@ -129,4 +131,12 @@ public interface IServiceWorkOrdersService {
|
||||
* @return list
|
||||
*/
|
||||
List<ServiceWorkOrdersVo> queryMyOrderByXcx();
|
||||
|
||||
//大屏接口
|
||||
|
||||
/**
|
||||
* 大屏工单柱状图
|
||||
*/
|
||||
List<TypeWorkOrderHistogramVo> typeWorkOrderHistogram();
|
||||
|
||||
}
|
||||
|
@@ -71,4 +71,10 @@ public interface IServiceWorkOrdersTypeService {
|
||||
* @return 工单类型树结构
|
||||
*/
|
||||
List<ServiceWorkOrdersTypeVo> typeTree();
|
||||
|
||||
/**
|
||||
* 查询【工单类型】树结构
|
||||
* @return 工单类型树结构
|
||||
*/
|
||||
List<ServiceWorkOrdersTypeVo> typeTrees();
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.service.cleanOrderService;
|
||||
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
import org.dromara.property.domain.vo.cleanOrderVo.CleanOrderVo;
|
||||
import org.dromara.property.domain.bo.cleanOrderBo.CleanOrderBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -65,4 +66,11 @@ public interface ICleanOrderService {
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 指派保洁订单
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
int assign(CleanOrderBo bo);
|
||||
}
|
||||
|
@@ -0,0 +1,138 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
import org.dromara.property.domain.vo.CleanOrderRecordVo;
|
||||
import org.dromara.property.domain.CleanOrderRecord;
|
||||
import org.dromara.property.mapper.CleanOrderRecordMapper;
|
||||
import org.dromara.property.service.ICleanOrderRecordService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 保洁订单记录Service业务层处理
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CleanOrderRecordServiceImpl implements ICleanOrderRecordService {
|
||||
|
||||
private final CleanOrderRecordMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询保洁订单记录
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 保洁订单记录
|
||||
*/
|
||||
@Override
|
||||
public CleanOrderRecordVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询保洁订单记录列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 保洁订单记录分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<CleanOrderRecordVo> queryPageList(CleanOrderRecordBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CleanOrderRecord> lqw = buildQueryWrapper(bo);
|
||||
Page<CleanOrderRecordVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的保洁订单记录列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 保洁订单记录列表
|
||||
*/
|
||||
@Override
|
||||
public List<CleanOrderRecordVo> queryList(CleanOrderRecordBo bo) {
|
||||
LambdaQueryWrapper<CleanOrderRecord> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<CleanOrderRecord> buildQueryWrapper(CleanOrderRecordBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CleanOrderRecord> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(CleanOrderRecord::getId);
|
||||
lqw.eq(bo.getCleanOrderId() != null, CleanOrderRecord::getCleanOrderId, bo.getCleanOrderId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), CleanOrderRecord::getStatus, bo.getStatus());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getIsSign()), CleanOrderRecord::getIsSign, bo.getIsSign());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSignImg()), CleanOrderRecord::getSignImg, bo.getSignImg());
|
||||
lqw.eq(bo.getHandler() != null, CleanOrderRecord::getHandler, bo.getHandler());
|
||||
lqw.eq(bo.getInitiatorPeople() != null, CleanOrderRecord::getInitiatorPeople, bo.getInitiatorPeople());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getIsAbnormal()), CleanOrderRecord::getIsAbnormal, bo.getIsAbnormal());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保洁订单记录
|
||||
*
|
||||
* @param bo 保洁订单记录
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(CleanOrderRecordBo bo) {
|
||||
CleanOrderRecord add = MapstructUtils.convert(bo, CleanOrderRecord.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保洁订单记录
|
||||
*
|
||||
* @param bo 保洁订单记录
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CleanOrderRecordBo bo) {
|
||||
CleanOrderRecord update = MapstructUtils.convert(bo, CleanOrderRecord.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CleanOrderRecord entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除保洁订单记录信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
@@ -14,10 +14,12 @@ import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.property.domain.Meet;
|
||||
import org.dromara.property.domain.MeetAttachOrder;
|
||||
import org.dromara.property.domain.MeetBooking;
|
||||
import org.dromara.property.domain.bo.MeetBookingBo;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.domain.vo.BigScreen.TodayMeetCountVo;
|
||||
import org.dromara.property.domain.vo.residentVo.ResidentPersonVo;
|
||||
import org.dromara.property.domain.vo.residentVo.ResidentUnitVo;
|
||||
import org.dromara.property.mapper.*;
|
||||
@@ -30,6 +32,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -69,7 +72,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
//RemoteUserVo userInfo = remoteUserService.getUserInfoById(Long.valueOf(meetBookingVo.getPerson()));
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(Long.valueOf(meetBookingVo.getPerson()));
|
||||
meetBookingDetailVo.setPersonName(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getUserName() : null);
|
||||
meetBookingDetailVo.setPhone(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getPhone(): null);
|
||||
meetBookingDetailVo.setPhone(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getPhone() : null);
|
||||
ResidentUnitVo residentUnitVo = residentUnitMapper.selectVoById(Long.valueOf(meetBookingVo.getUnit()));
|
||||
meetBookingDetailVo.setUnitName(ObjectUtil.isNotNull(residentUnitVo) ? residentUnitVo.getName() : null);
|
||||
return meetBookingDetailVo;
|
||||
@@ -87,26 +90,26 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
LambdaQueryWrapper<MeetBooking> lqw = buildQueryWrapper(bo);
|
||||
Page<MeetBookingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<MeetBookingVo> meetBookingVoList = new ArrayList<>();
|
||||
if(CollUtil.isNotEmpty(result.getRecords())){
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<Long> userId = result.getRecords().stream().map(vo -> vo.getPerson()).distinct().map(Long::parseLong).collect(Collectors.toList());
|
||||
List<ResidentPersonVo> remoteUserVos = residentPersonMapper.selectVoByIds(userId);
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(userId);
|
||||
if (CollUtil.isNotEmpty(result.getRecords())) {
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<Long> userId = result.getRecords().stream().map(vo -> vo.getPerson()).distinct().map(Long::parseLong).collect(Collectors.toList());
|
||||
List<ResidentPersonVo> remoteUserVos = residentPersonMapper.selectVoByIds(userId);
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(userId);
|
||||
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
if (CollUtil.isNotEmpty(residentUnitVolist)) {
|
||||
ResidentUnitVo residentUnitVo = residentUnitVolist.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getUnit())).findFirst().orElse(null);
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo) ? residentUnitVo.getName() : null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(remoteUserVos)) {
|
||||
ResidentPersonVo residentPersonVo = remoteUserVos.stream()
|
||||
.filter(vo -> vo.getUserId() != null && String.valueOf(vo.getUserId()).equals(s.getPerson())).findFirst().orElse(null);
|
||||
s.setPersonName(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getUserName() : null);
|
||||
s.setPhone(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getPhone() : null);
|
||||
}
|
||||
meetBookingVoList.add(s);
|
||||
});
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
if (CollUtil.isNotEmpty(residentUnitVolist)) {
|
||||
ResidentUnitVo residentUnitVo = residentUnitVolist.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getUnit())).findFirst().orElse(null);
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo) ? residentUnitVo.getName() : null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(remoteUserVos)) {
|
||||
ResidentPersonVo residentPersonVo = remoteUserVos.stream()
|
||||
.filter(vo -> vo.getUserId() != null && String.valueOf(vo.getUserId()).equals(s.getPerson())).findFirst().orElse(null);
|
||||
s.setPersonName(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getUserName() : null);
|
||||
s.setPhone(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getPhone() : null);
|
||||
}
|
||||
meetBookingVoList.add(s);
|
||||
});
|
||||
}
|
||||
return TableDataInfo.build(new Page<MeetBookingVo>().setRecords(meetBookingVoList).setTotal(result.getTotal()));
|
||||
}
|
||||
@@ -124,7 +127,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
LocalDateTime startOfDay = date.atStartOfDay();
|
||||
LocalDateTime endOfDay = date.atTime(LocalTime.MAX);
|
||||
meetBookingLambdaQueryWrapper
|
||||
.eq(MeetBooking::getState,2)
|
||||
.eq(MeetBooking::getState, 2)
|
||||
.le(MeetBooking::getScheduledStarttime, endOfDay)
|
||||
.ge(MeetBooking::getScheduledEndtime, startOfDay);
|
||||
List<MeetBooking> meetBookings = baseMapper.selectList(meetBookingLambdaQueryWrapper);
|
||||
@@ -135,14 +138,14 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
SimpleDateFormat df = new SimpleDateFormat("HH");
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<Long> userId = meetBookingAppointmentVoList.stream().map(vo -> vo.getPerson()).distinct().map(Long::parseLong).collect(Collectors.toList());
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(userId);
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(userId);
|
||||
List<ResidentPersonVo> remoteUserVos = residentPersonMapper.selectVoByIds(userId);
|
||||
meetBookingAppointmentVoList.stream().forEach(
|
||||
s -> {
|
||||
if (CollUtil.isNotEmpty(residentUnitVolist)) {
|
||||
ResidentUnitVo residentUnitVo = residentUnitVolist.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getUnit())).findFirst().orElse(null);
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo) ?residentUnitVo.getName():null);
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo) ? residentUnitVo.getName() : null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(remoteUserVos)) {
|
||||
ResidentPersonVo residentPersonVo = remoteUserVos.stream()
|
||||
@@ -184,7 +187,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
// 构建查询条件
|
||||
LambdaQueryWrapper<MeetBooking> bookingLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
bookingLambdaQueryWrapper.eq(MeetBooking::getMeetId, meetId)
|
||||
.eq(MeetBooking::getState,2)
|
||||
.eq(MeetBooking::getState, 2)
|
||||
.ge(MeetBooking::getScheduledStarttime, startOfWeek)
|
||||
.le(MeetBooking::getScheduledEndtime, endOfWeek);
|
||||
List<MeetBookingVo> meetBookingVoList = baseMapper.selectVoList(bookingLambdaQueryWrapper);
|
||||
@@ -197,13 +200,13 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
SimpleDateFormat df = new SimpleDateFormat("HH");
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<Long> userId = meetBookingWeekVoList.stream().map(vo -> vo.getPerson()).distinct().map(Long::parseLong).collect(Collectors.toList());
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(userId);
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(userId);
|
||||
List<ResidentPersonVo> remoteUserVos = residentPersonMapper.selectVoByIds(userId);
|
||||
meetBookingWeekVoList.stream().forEach(s -> {
|
||||
if (CollUtil.isNotEmpty(residentUnitVolist)) {
|
||||
ResidentUnitVo residentUnitVo = residentUnitVolist.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getUnit())).findFirst().orElse(null);
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo)? residentUnitVo.getName():null);
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo) ? residentUnitVo.getName() : null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(remoteUserVos)) {
|
||||
ResidentPersonVo residentPersonVo = remoteUserVos.stream()
|
||||
@@ -322,9 +325,29 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
public List<MeetBooking> getList() {
|
||||
LambdaQueryWrapper<MeetBooking> meetQueryWrapper = new LambdaQueryWrapper<>();
|
||||
return baseMapper.selectList(meetQueryWrapper);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public TodayMeetCountVo todayMeetCount() {
|
||||
Long meetCount = meetMapper.selectCount(null);
|
||||
// 获取今日开始和结束时间
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
// 查询今日预约
|
||||
LambdaQueryWrapper<MeetBooking> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.le(MeetBooking::getScheduledStarttime, today)
|
||||
.ge(MeetBooking::getScheduledEndtime, today);
|
||||
List<MeetBooking> todayBookings = baseMapper.selectList(queryWrapper);
|
||||
TodayMeetCountVo todayMeetCountVo = new TodayMeetCountVo();
|
||||
todayMeetCountVo.setTimeQuantity(todayBookings.size());
|
||||
todayMeetCountVo.setMeetCount(Integer.valueOf(Math.toIntExact(meetCount)));
|
||||
return todayMeetCountVo;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -29,6 +29,8 @@ import org.dromara.property.domain.enums.OrderReportingTypeEnum;
|
||||
import org.dromara.property.domain.enums.OrderTypeOperationEnum;
|
||||
import org.dromara.property.domain.enums.WorkOrderStatusEnum;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.domain.vo.BigScreen.TodayMeetCountVo;
|
||||
import org.dromara.property.domain.vo.BigScreen.TypeWorkOrderHistogramVo;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersRecordVo;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
|
||||
import org.dromara.property.mapper.ResidentPersonMapper;
|
||||
@@ -814,4 +816,89 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
return ordersVos;
|
||||
}
|
||||
|
||||
//大屏接口
|
||||
|
||||
/**
|
||||
* 大屏工单柱状图
|
||||
*/
|
||||
@Override
|
||||
public List<TypeWorkOrderHistogramVo> typeWorkOrderHistogram() {
|
||||
// 查询工单类型
|
||||
List<ServiceWorkOrdersTypeVo> typeVoList = serviceWorkOrdersTypeService.typeTree();
|
||||
|
||||
// 递归收集工单类型ID并查询工单数量按状态区分
|
||||
List<TypeWorkOrderHistogramVo> result = new ArrayList<>();
|
||||
for (ServiceWorkOrdersTypeVo typeVo : typeVoList) {
|
||||
Map<String, Integer> statusCounts = getStatusCounts(typeVo);
|
||||
result.add(new TypeWorkOrderHistogramVo()
|
||||
.setType(typeVo.getOrderTypeName())
|
||||
.setStatusCounts(statusCounts));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private Map<String, Integer> getStatusCounts(ServiceWorkOrdersTypeVo typeVo) {
|
||||
List<Long> allTypeIds = getAllTypeIds(typeVo);
|
||||
List<ServiceWorkOrders> workOrders = getWorkOrdersByTypeIds(allTypeIds);
|
||||
|
||||
Map<String, Integer> statusCounts = new HashMap<>();
|
||||
int pendingCount = 0;
|
||||
int dispatchCount = 0;
|
||||
int processingCount = 0;
|
||||
int completedCount = 0;
|
||||
|
||||
for (ServiceWorkOrders order : workOrders) {
|
||||
String status = order.getStatus();
|
||||
switch (status) {
|
||||
case "0": // 待派单
|
||||
pendingCount++;
|
||||
break;
|
||||
case "1": // 已派单
|
||||
case "2":
|
||||
dispatchCount++;
|
||||
break;
|
||||
case "3": // 处理中
|
||||
processingCount++;
|
||||
case "4": // 已关闭
|
||||
completedCount++;
|
||||
break;
|
||||
default:
|
||||
// 处理其他状态或记录日志
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
statusCounts.put(WorkOrderStatusEnum.CREATE_ORDER.getName(), pendingCount);
|
||||
statusCounts.put(WorkOrderStatusEnum.DISPATCHED.getName(), dispatchCount);
|
||||
statusCounts.put(WorkOrderStatusEnum.IN_HAND.getName(), processingCount);
|
||||
statusCounts.put(WorkOrderStatusEnum.DONE.getName(), completedCount);
|
||||
statusCounts.put("已完成", completedCount);
|
||||
|
||||
return statusCounts;
|
||||
}
|
||||
|
||||
|
||||
private List<Long> getAllTypeIds(ServiceWorkOrdersTypeVo typeVo) {
|
||||
List<Long> typeIds = new ArrayList<>();
|
||||
collectTypeIds(typeVo, typeIds);
|
||||
return typeIds;
|
||||
}
|
||||
|
||||
private void collectTypeIds(ServiceWorkOrdersTypeVo typeVo, List<Long> typeIds) {
|
||||
typeIds.add(typeVo.getId());
|
||||
if (typeVo.getChildren() != null) {
|
||||
for (ServiceWorkOrdersTypeVo child : typeVo.getChildren()) {
|
||||
collectTypeIds(child, typeIds);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<ServiceWorkOrders> getWorkOrdersByTypeIds(List<Long> typeIds) {
|
||||
// 假设这里有一个方法可以从数据库或其他数据源获取工单列表
|
||||
return baseMapper.selectList(
|
||||
new LambdaQueryWrapper<ServiceWorkOrders>()
|
||||
.in(ServiceWorkOrders::getType, typeIds)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -203,4 +203,16 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
|
||||
}
|
||||
return tree;
|
||||
}
|
||||
|
||||
//APP端
|
||||
/**
|
||||
* 查询【工单类型】树结构
|
||||
*
|
||||
* @return 工单类型树结构
|
||||
*/
|
||||
@Override
|
||||
public List<ServiceWorkOrdersTypeVo> typeTrees() {
|
||||
List<ServiceWorkOrdersTypeVo> list = baseMapper.selectVoList();
|
||||
return buildTree(list, null);
|
||||
}
|
||||
}
|
||||
|
@@ -1,24 +1,35 @@
|
||||
package org.dromara.property.service.impl.cleanOrderImpl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.property.domain.*;
|
||||
import org.dromara.property.domain.bo.CleanOrderRecordBo;
|
||||
import org.dromara.property.domain.bo.cleanOrderBo.CleanOrderBo;
|
||||
import org.dromara.property.domain.enums.WorkOrderStatusEnum;
|
||||
import org.dromara.property.domain.vo.CleanOrderRecordVo;
|
||||
import org.dromara.property.domain.vo.cleanOrderVo.CleanOrderVo;
|
||||
import org.dromara.property.mapper.CleanOrderRecordMapper;
|
||||
import org.dromara.property.mapper.TbRoomMapper;
|
||||
import org.dromara.property.mapper.cleanOrderMapper.CleanMapper;
|
||||
import org.dromara.property.mapper.cleanOrderMapper.CleanOrderMapper;
|
||||
import org.dromara.property.mapper.cleanOrderMapper.CleanRelationMapper;
|
||||
import org.dromara.property.mapper.cleanOrderMapper.CleanserverOrderMapper;
|
||||
import org.dromara.property.service.cleanOrderService.ICleanOrderService;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -28,6 +39,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.springframework.beans.BeanUtils.copyProperties;
|
||||
|
||||
/**
|
||||
* 保洁订单Service业务层处理
|
||||
*
|
||||
@@ -40,12 +53,15 @@ import java.util.stream.Collectors;
|
||||
public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
|
||||
private final CleanOrderMapper baseMapper;
|
||||
private final CleanOrderRecordMapper cleanOrderRecordMapper;
|
||||
private final CleanserverOrderMapper cleanserverOrderMapper;
|
||||
|
||||
private final CleanMapper cleanMapper;
|
||||
|
||||
private final CleanRelationMapper cleanRelationMapper;
|
||||
private final TbRoomMapper roomMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
//NOTUNBOOKING:未退订 BOOKING:已退订
|
||||
private final Integer NOTUNBOOKING = 0;
|
||||
@@ -79,6 +95,25 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
CleanOrderVo cleanOrderVo = MapstructUtils.convert(cleanOrder, CleanOrderVo.class);
|
||||
cleanOrderVo.setCleanList(cleanList);
|
||||
cleanOrderVo.setRelationList(cleanRelationList);
|
||||
// //查询订单记录
|
||||
// List<CleanOrderRecordVo> cleanOrderRecordVos = cleanOrderRecordMapper.selectVoList(Wrappers.<CleanOrderRecord>lambdaQuery().eq(CleanOrderRecord::getCleanOrderId, id));
|
||||
// if(CollUtil.isNotEmpty(cleanOrderRecordVos)){
|
||||
// cleanOrderRecordVos.stream().forEach(item -> {
|
||||
// //查询指派人名称
|
||||
// if(ObjectUtil.isNotEmpty(item.getHandler())){
|
||||
// RemoteUserVo userInfo = remoteUserService.getUserInfoById(item.getHandler());
|
||||
// item.setHandlerText(userInfo.getNickName());
|
||||
// }
|
||||
// //查询发起人名称
|
||||
// if(ObjectUtil.isNotEmpty(item.getInitiatorPeople())){
|
||||
// RemoteUserVo userInfo = remoteUserService.getUserInfoById(item.getInitiatorPeople());
|
||||
// item.setInitiatorPeopleText(userInfo.getNickName());
|
||||
// }
|
||||
//
|
||||
// });
|
||||
// cleanOrderVo.setRecordVoList(cleanOrderRecordVos);
|
||||
// }
|
||||
|
||||
return cleanOrderVo;
|
||||
|
||||
}
|
||||
@@ -156,12 +191,15 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
//1.向clean_order表中插入数据
|
||||
// CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class);
|
||||
CleanOrder add = new CleanOrder();
|
||||
validEntityBeforeSave(add);
|
||||
BeanUtils.copyProperties(bo, add);
|
||||
copyProperties(bo, add);
|
||||
add.setStarTime(bo.getStarTime());
|
||||
add.setEndTime(bo.getEndTime());
|
||||
add.setIsUnbooking(NOTUNBOOKING);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag){
|
||||
bo.setId(add.getId());
|
||||
// validEntityBeforeSave(bo);
|
||||
}
|
||||
|
||||
//取出clean_order表中的所有clean数据
|
||||
List<Clean> cleanList = bo.getCleanList();
|
||||
@@ -206,19 +244,31 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(CleanOrderBo bo) {
|
||||
CleanOrder update = MapstructUtils.convert(bo, CleanOrder.class);
|
||||
validEntityBeforeSave(update);
|
||||
// validEntityBeforeSave(update);
|
||||
update.setStarTime(bo.getStarTime());
|
||||
update.setEndTime(bo.getStarTime());
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
* 保存后的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CleanOrder entity) {
|
||||
private void validEntityBeforeSave(CleanOrderBo bo) {
|
||||
//当前登录用户
|
||||
Long userId = LoginHelper.getUserId();
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
cleanOrderRecordMapper.insert(
|
||||
new CleanOrderRecord()
|
||||
.setCleanOrderId(bo.getId())
|
||||
.setStatus("1")
|
||||
.setIsSign("1")
|
||||
.setInitiatorPeople(userId)
|
||||
.setServiceEvaluaText(bo.getServiceEvaluaText())
|
||||
.setIsAbnormal("1")
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -236,4 +286,16 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
||||
//todo:应该删除中间表中的数据
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
/**
|
||||
* 指派保洁订单
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int assign(CleanOrderBo bo) {
|
||||
CleanOrderRecord cleanOrderRecord= BeanUtil.copyProperties(bo.getCleanOrderRecord(), CleanOrderRecord.class);
|
||||
cleanOrderRecord.setStatus("2");
|
||||
return cleanOrderRecordMapper.insert(cleanOrderRecord);
|
||||
}
|
||||
}
|
||||
|
@@ -62,7 +62,7 @@ public class ResidentUnitServiceImpl implements IResidentUnitService {
|
||||
public ResidentUnitVo queryById(Long id){
|
||||
ResidentUnitVo residentUnitVo = baseMapper.selectVoById(id);
|
||||
//获取入驻位置详情
|
||||
if(StringUtils.isNotBlank(residentUnitVo.getLocation())){
|
||||
if(ObjectUtil.isNotEmpty(residentUnitVo)){
|
||||
// 修改后的代码
|
||||
List<Long> idList = Arrays.stream(residentUnitVo.getLocation().split(","))
|
||||
.map(String::trim)
|
||||
@@ -75,9 +75,9 @@ public class ResidentUnitServiceImpl implements IResidentUnitService {
|
||||
String locationDetail = String.join(",", roomNames);
|
||||
residentUnitVo.setLocationDetail(locationDetail);
|
||||
}
|
||||
Long num = personService.queryPersonCount(residentUnitVo.getId());
|
||||
residentUnitVo.setNumber(num);
|
||||
}
|
||||
Long num = personService.queryPersonCount(residentUnitVo.getId());
|
||||
residentUnitVo.setNumber(num);
|
||||
return residentUnitVo;
|
||||
}
|
||||
|
||||
|
@@ -39,7 +39,7 @@ public class GenController extends BaseController {
|
||||
/**
|
||||
* 查询代码生成列表
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:list")
|
||||
//@SaCheckPermission("tool:gen:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<GenTable> genList(GenTable genTable, PageQuery pageQuery) {
|
||||
return genTableService.selectPageGenTableList(genTable, pageQuery);
|
||||
@@ -50,7 +50,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableId 表ID
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:query")
|
||||
//@SaCheckPermission("tool:gen:query")
|
||||
@GetMapping(value = "/{tableId}")
|
||||
public R<Map<String, Object>> getInfo(@PathVariable Long tableId) {
|
||||
GenTable table = genTableService.selectGenTableById(tableId);
|
||||
@@ -66,7 +66,7 @@ public class GenController extends BaseController {
|
||||
/**
|
||||
* 查询数据库列表
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:list")
|
||||
//@SaCheckPermission("tool:gen:list")
|
||||
@GetMapping("/db/list")
|
||||
public TableDataInfo<GenTable> dataList(GenTable genTable, PageQuery pageQuery) {
|
||||
return genTableService.selectPageDbTableList(genTable, pageQuery);
|
||||
@@ -77,7 +77,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableId 表ID
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:list")
|
||||
//@SaCheckPermission("tool:gen:list")
|
||||
@GetMapping(value = "/column/{tableId}")
|
||||
public TableDataInfo<GenTableColumn> columnList(@PathVariable("tableId") Long tableId) {
|
||||
TableDataInfo<GenTableColumn> dataInfo = new TableDataInfo<>();
|
||||
@@ -92,7 +92,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tables 表名串
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:import")
|
||||
//@SaCheckPermission("tool:gen:import")
|
||||
@Log(title = "代码生成", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importTable")
|
||||
public R<Void> importTableSave(String tables, String dataName) {
|
||||
@@ -106,7 +106,7 @@ public class GenController extends BaseController {
|
||||
/**
|
||||
* 修改保存代码生成业务
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:edit")
|
||||
//@SaCheckPermission("tool:gen:edit")
|
||||
@Log(title = "代码生成", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public R<Void> editSave(@Validated @RequestBody GenTable genTable) {
|
||||
@@ -120,7 +120,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableIds 表ID串
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:remove")
|
||||
//@SaCheckPermission("tool:gen:remove")
|
||||
@Log(title = "代码生成", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{tableIds}")
|
||||
public R<Void> remove(@PathVariable Long[] tableIds) {
|
||||
@@ -133,7 +133,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableId 表ID
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:preview")
|
||||
//@SaCheckPermission("tool:gen:preview")
|
||||
@GetMapping("/preview/{tableId}")
|
||||
public R<Map<String, String>> preview(@PathVariable("tableId") Long tableId) throws IOException {
|
||||
Map<String, String> dataMap = genTableService.previewCode(tableId);
|
||||
@@ -145,7 +145,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableId 表ID
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:code")
|
||||
//@SaCheckPermission("tool:gen:code")
|
||||
@Log(title = "代码生成", businessType = BusinessType.GENCODE)
|
||||
@GetMapping("/download/{tableId}")
|
||||
public void download(HttpServletResponse response, @PathVariable("tableId") Long tableId) throws IOException {
|
||||
@@ -158,7 +158,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableId 表ID
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:code")
|
||||
//@SaCheckPermission("tool:gen:code")
|
||||
@Log(title = "代码生成", businessType = BusinessType.GENCODE)
|
||||
@GetMapping("/genCode/{tableId}")
|
||||
public R<Void> genCode(@PathVariable("tableId") Long tableId) {
|
||||
@@ -171,7 +171,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableId 表ID
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:edit")
|
||||
//@SaCheckPermission("tool:gen:edit")
|
||||
@Log(title = "代码生成", businessType = BusinessType.UPDATE)
|
||||
@GetMapping("/synchDb/{tableId}")
|
||||
public R<Void> synchDb(@PathVariable("tableId") Long tableId) {
|
||||
@@ -184,7 +184,7 @@ public class GenController extends BaseController {
|
||||
*
|
||||
* @param tableIdStr 表ID串
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:code")
|
||||
//@SaCheckPermission("tool:gen:code")
|
||||
@Log(title = "代码生成", businessType = BusinessType.GENCODE)
|
||||
@GetMapping("/batchGenCode")
|
||||
public void batchGenCode(HttpServletResponse response, String tableIdStr) throws IOException {
|
||||
@@ -209,7 +209,7 @@ public class GenController extends BaseController {
|
||||
/**
|
||||
* 查询数据源名称列表
|
||||
*/
|
||||
@SaCheckPermission("tool:gen:list")
|
||||
//@SaCheckPermission("tool:gen:list")
|
||||
@GetMapping(value = "/getDataNames")
|
||||
public R<Object> getCurrentDataSourceNameList(){
|
||||
return R.ok(DataBaseHelper.getDataSourceNameList());
|
||||
|
Reference in New Issue
Block a user