Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
This commit is contained in:
@@ -6,9 +6,6 @@ import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
|
||||
import org.dromara.property.domain.vo.InspectionTaskDetailVo;
|
||||
import org.dromara.property.service.IInspectionTaskDetailService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
@@ -20,14 +17,17 @@ 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.InspectionTaskDetailVo;
|
||||
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
|
||||
import org.dromara.property.service.IInspectionTaskDetailService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 巡检明细
|
||||
* 前端访问路由地址为:/system/taskDetail
|
||||
* 前端访问路由地址为:/property/taskDetail
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@@ -40,7 +40,7 @@ public class InspectionTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 查询巡检明细列表
|
||||
*/
|
||||
//@SaCheckPermission("system:taskDetail:list")
|
||||
@SaCheckPermission("property:taskDetail:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<InspectionTaskDetailVo> list(InspectionTaskDetailBo bo, PageQuery pageQuery) {
|
||||
return inspectionTaskDetailService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class InspectionTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 导出巡检明细列表
|
||||
*/
|
||||
@SaCheckPermission("system:taskDetail:export")
|
||||
@SaCheckPermission("property:taskDetail:export")
|
||||
@Log(title = "巡检明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(InspectionTaskDetailBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class InspectionTaskDetailController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:taskDetail:query")
|
||||
@SaCheckPermission("property:taskDetail:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<InspectionTaskDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class InspectionTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 新增巡检明细
|
||||
*/
|
||||
@SaCheckPermission("system:taskDetail:add")
|
||||
@SaCheckPermission("property:taskDetail:add")
|
||||
@Log(title = "巡检明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class InspectionTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 修改巡检明细
|
||||
*/
|
||||
@SaCheckPermission("system:taskDetail:edit")
|
||||
@SaCheckPermission("property:taskDetail:edit")
|
||||
@Log(title = "巡检明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class InspectionTaskDetailController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:taskDetail:remove")
|
||||
@SaCheckPermission("property:taskDetail:remove")
|
||||
@Log(title = "巡检明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -107,7 +107,6 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
/**
|
||||
* 查询【工单类型】树结构
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:list")
|
||||
@GetMapping("/typeTree")
|
||||
public R<List<ServiceWorkOrdersTypeVo>> typeTree() {
|
||||
return R.ok(serviceWorkOrdersTypeService.typeTree());
|
||||
@@ -119,7 +118,6 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
* @param bo 工单类型
|
||||
* @return 工单类型列表
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:list")
|
||||
@GetMapping("/queryList")
|
||||
public R<List<ServiceWorkOrdersTypeVo>> queryList(ServiceWorkOrdersTypeBo bo) {
|
||||
return R.ok(serviceWorkOrdersTypeService.queryList(bo));
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.controller;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -11,6 +12,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.constant.GlobalConstants;
|
||||
import org.dromara.common.redis.utils.RedisUtils;
|
||||
import org.dromara.property.domain.bo.QrCodeInfo;
|
||||
import org.dromara.resource.api.RemoteMessageService;
|
||||
@@ -77,8 +79,7 @@ public class TbVisitorManagementController extends BaseController {
|
||||
String s = remoteConfigService.selectQrTimeOut();
|
||||
int i = Integer.parseInt(s);
|
||||
UUID value = UUID.randomUUID();
|
||||
RedisUtils.setCacheObject("Qrcode"+value, qrCodeInfo);
|
||||
RedisUtils.expire("Qrcode", i);
|
||||
RedisUtils.setCacheObject(GlobalConstants.CAPTCHA_CODE_KEY+"Qrcode"+value, qrCodeInfo, Duration.ofSeconds(i));
|
||||
return R.ok(value.toString());
|
||||
}
|
||||
|
||||
@@ -87,9 +88,9 @@ public class TbVisitorManagementController extends BaseController {
|
||||
* @param qrcode
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/useqr")
|
||||
@GetMapping("/useqr")
|
||||
public R<String> useqr(String qrcode) {
|
||||
QrCodeInfo qrCodeInfo = RedisUtils.getCacheObject("Qrcode" + qrcode);
|
||||
QrCodeInfo qrCodeInfo = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + qrcode);
|
||||
if (qrCodeInfo==null) {
|
||||
return R.fail("二维码已过期");
|
||||
}
|
||||
@@ -127,12 +128,12 @@ public class TbVisitorManagementController extends BaseController {
|
||||
/**
|
||||
* 小程序新增访客管理
|
||||
*/
|
||||
@SaCheckPermission("property:visitorManagement:add")
|
||||
// @SaCheckPermission("property:visitorManagement:add")
|
||||
@Log(title = "访客管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/add")
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody TbVisitorManagementBo bo) {
|
||||
QrCodeInfo info = RedisUtils.getCacheObject("Qrcode" + bo.getQrCodeId());
|
||||
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
|
||||
if (info==null){
|
||||
return R.fail("请确认Qr码有效");
|
||||
}
|
||||
|
@@ -0,0 +1,41 @@
|
||||
package org.dromara.property.controller.mobile;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo;
|
||||
import org.dromara.property.service.IServiceWorkOrdersService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 【业务管理-工单处理】
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-07
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/mobile/workOrders")
|
||||
public class MServiceWorkOrdersController extends BaseController {
|
||||
|
||||
private final IServiceWorkOrdersService serviceWorkOrdersService;
|
||||
|
||||
/**
|
||||
* 小程序新增【工单处理】
|
||||
*/
|
||||
@Log(title = "【小程序新增工单处理】", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody MServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.insertMServiceWorkOrdersBo(bo));
|
||||
}
|
||||
}
|
@@ -60,6 +60,14 @@ public class CleanOrder extends TenantEntity {
|
||||
* 保洁类型
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 签到方式(1现场拍照2摄像头签到)
|
||||
*/
|
||||
private String signType;
|
||||
/**
|
||||
* 签到图片
|
||||
*/
|
||||
private String signImgUrl;
|
||||
/**
|
||||
* 评价
|
||||
*/
|
||||
@@ -69,7 +77,7 @@ public class CleanOrder extends TenantEntity {
|
||||
*/
|
||||
private String serviceEvaluaText;
|
||||
/**
|
||||
* 图片
|
||||
* 评价图片
|
||||
*/
|
||||
private String imgUrl;
|
||||
/**
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package org.dromara.property.domain;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
@@ -55,9 +57,10 @@ public class InspectionRoutePoint extends TenantEntity {
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
* 排序
|
||||
*/
|
||||
private String searchValue;
|
||||
@NotNull(message = "排序不能为空", groups = { EditGroup.class })
|
||||
private Integer sort;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -4,8 +4,10 @@ import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@@ -13,7 +15,7 @@ import java.io.Serial;
|
||||
* 巡检明细对象 inspection_task_detail
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -55,20 +57,60 @@ public class InspectionTaskDetail extends TenantEntity {
|
||||
private String patrolType;
|
||||
|
||||
/**
|
||||
* 签到类型
|
||||
* 签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)
|
||||
*/
|
||||
private String signType;
|
||||
|
||||
/**
|
||||
* 实际巡检时间
|
||||
*/
|
||||
private Date actualInspectionTime;
|
||||
|
||||
/**
|
||||
* 实际签到状态(1已签到2.未签到)
|
||||
*/
|
||||
private String actualSignState;
|
||||
|
||||
/**
|
||||
* 巡检状态(0未完成,1已完成)
|
||||
*/
|
||||
private String inspectionState;
|
||||
|
||||
/**
|
||||
* 巡检照片
|
||||
* 巡检图片
|
||||
*/
|
||||
private String inspectionImage;
|
||||
|
||||
/**
|
||||
* 计划巡检人
|
||||
*/
|
||||
private String planInspectionPerson;
|
||||
|
||||
/**
|
||||
* 实际巡检人
|
||||
*/
|
||||
private String actualInspectionPerson;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 巡检结果
|
||||
*/
|
||||
private String inspectionResults;
|
||||
|
||||
/**
|
||||
* 巡检描述
|
||||
*/
|
||||
private String inspectionDesc;
|
||||
|
||||
/**
|
||||
* 巡检位置
|
||||
*/
|
||||
private String inspectionLocation;
|
||||
|
||||
/**
|
||||
* 实际巡检时间
|
||||
*/
|
||||
@@ -89,4 +131,10 @@ public class InspectionTaskDetail extends TenantEntity {
|
||||
*/
|
||||
private Date pointEndTime;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -108,6 +108,12 @@ public class ResidentPerson extends TenantEntity {
|
||||
* e8平台id
|
||||
*/
|
||||
private Long eEightId;
|
||||
|
||||
/**
|
||||
* 人员标签类型
|
||||
*/
|
||||
private Integer rosterType;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
|
@@ -40,7 +40,7 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
*/
|
||||
private String orderName;
|
||||
/**
|
||||
* 权重
|
||||
* 权重(1一般2紧急3危急)
|
||||
*/
|
||||
private String processingWeight;
|
||||
/**
|
||||
@@ -67,11 +67,11 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
private long handler;
|
||||
private Long handler;
|
||||
/**
|
||||
* 抄送人
|
||||
*/
|
||||
private long ccPeople;
|
||||
private Long ccPeople;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
@@ -105,6 +105,10 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
* 工单图片
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 上报类型
|
||||
*/
|
||||
private String reportingType;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@@ -43,6 +43,10 @@ public class TbVisitorManagement extends TenantEntity {
|
||||
* 访客电话
|
||||
*/
|
||||
private String visitorPhone;
|
||||
/**
|
||||
* 身份证/军
|
||||
*/
|
||||
private String idCard;
|
||||
|
||||
/**
|
||||
* 拜访事由
|
||||
|
@@ -49,6 +49,14 @@ public class CleanOrderBo extends BaseEntity {
|
||||
*/
|
||||
@NotBlank(message = "保洁类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String type;
|
||||
/**
|
||||
* 签到方式(1现场拍照2摄像头签到)
|
||||
*/
|
||||
private String signType;
|
||||
/**
|
||||
* 签到图片
|
||||
*/
|
||||
private String signImgUrl;
|
||||
/**
|
||||
* 保洁id
|
||||
*/
|
||||
|
@@ -33,6 +33,11 @@ public class InspectionRoutePointBo extends BaseEntity {
|
||||
*/
|
||||
// @NotNull(message = "巡检路线id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long routeId;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@NotNull(message = "排序不能为空", groups = { EditGroup.class })
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 巡检点id
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.domain.bo;
|
||||
|
||||
import org.dromara.property.domain.InspectionTaskDetail;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
@@ -7,14 +8,16 @@ import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.property.domain.InspectionTaskDetail;
|
||||
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
|
||||
/**
|
||||
* 巡检明细业务对象 inspection_task_detail
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -55,20 +58,60 @@ public class InspectionTaskDetailBo extends BaseEntity {
|
||||
private String patrolType;
|
||||
|
||||
/**
|
||||
* 签到类型
|
||||
* 签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)
|
||||
*/
|
||||
private String signType;
|
||||
|
||||
/**
|
||||
* 实际巡检时间
|
||||
*/
|
||||
private Date actualInspectionTime;
|
||||
|
||||
/**
|
||||
* 实际签到状态(1已签到2.未签到)
|
||||
*/
|
||||
private String actualSignState;
|
||||
|
||||
/**
|
||||
* 巡检状态(0未完成,1已完成)
|
||||
*/
|
||||
private String inspectionState;
|
||||
|
||||
/**
|
||||
* 巡检照片
|
||||
* 巡检图片
|
||||
*/
|
||||
private String inspectionImage;
|
||||
|
||||
/**
|
||||
* 计划巡检人
|
||||
*/
|
||||
private String planInspectionPerson;
|
||||
|
||||
/**
|
||||
* 实际巡检人
|
||||
*/
|
||||
private String actualInspectionPerson;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 巡检结果
|
||||
*/
|
||||
private String inspectionResults;
|
||||
|
||||
/**
|
||||
* 巡检描述
|
||||
*/
|
||||
private String inspectionDesc;
|
||||
|
||||
/**
|
||||
* 巡检位置
|
||||
*/
|
||||
private String inspectionLocation;
|
||||
|
||||
/**
|
||||
* 实际巡检时间
|
||||
*/
|
||||
|
@@ -121,5 +121,10 @@ public class ResidentPersonBo extends BaseEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 人员标签类型
|
||||
*/
|
||||
private Integer rosterType = 2;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ package org.dromara.property.domain.bo;
|
||||
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -26,7 +27,7 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
@NotBlank(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -37,7 +38,7 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
/**
|
||||
* 工单名称
|
||||
*/
|
||||
@NotNull(message = "工单名称不能为空", groups = { EditGroup.class })
|
||||
@NotBlank(message = "工单名称不能为空", groups = { EditGroup.class })
|
||||
private String orderName;
|
||||
/**
|
||||
* 权重
|
||||
@@ -49,6 +50,11 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
*/
|
||||
@NotNull(message = "工单类型不能为空", groups = { EditGroup.class })
|
||||
private Long type;
|
||||
/**
|
||||
* 上报类型
|
||||
*/
|
||||
@NotBlank(message = "上报类型不能为空", groups = { EditGroup.class })
|
||||
private String reportingType;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
@@ -101,6 +107,10 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
* 图片
|
||||
*/
|
||||
private String imgUrl;
|
||||
/**
|
||||
* 工单图片
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@@ -26,7 +26,7 @@ public class TbVisitorManagementBo extends BaseEntity {
|
||||
* qr码id
|
||||
*/
|
||||
// @NotNull(message = "qr码id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long qrCodeId;
|
||||
private String qrCodeId;
|
||||
|
||||
/**
|
||||
* id
|
||||
@@ -51,7 +51,10 @@ public class TbVisitorManagementBo extends BaseEntity {
|
||||
*/
|
||||
@NotBlank(message = "访客电话不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String visitorPhone;
|
||||
|
||||
/**
|
||||
* 身份证/军
|
||||
*/
|
||||
private String idCard;
|
||||
/**
|
||||
* 拜访事由
|
||||
*/
|
||||
|
@@ -0,0 +1,113 @@
|
||||
package org.dromara.property.domain.bo.mobile;
|
||||
|
||||
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.property.domain.ServiceWorkOrders;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 【工单处理】业务对象 小程序端新增工单
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = ServiceWorkOrders.class, reverseConvertGenerate = false)
|
||||
public class MServiceWorkOrdersBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
private String orderNo;
|
||||
|
||||
/**
|
||||
* 权重
|
||||
*/
|
||||
@ExcelProperty(value = "权重")
|
||||
private String processingWeight;
|
||||
/**
|
||||
* 工单类型
|
||||
*/
|
||||
@NotNull(message = "工单类型不能为空", groups = { EditGroup.class })
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 派单时间
|
||||
*/
|
||||
private Date dispatchTime;
|
||||
|
||||
/**
|
||||
* 发起人姓名
|
||||
*/
|
||||
private String initiatorName;
|
||||
|
||||
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
private Long handler;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@NotNull(message = "地址不能为空", groups = { EditGroup.class })
|
||||
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 计划完成时间
|
||||
*/
|
||||
//@NotNull(message = "计划完成时间不能为空", groups = { EditGroup.class })
|
||||
private Date planCompleTime;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
private Date compleTime;
|
||||
|
||||
/**
|
||||
* 评价
|
||||
*/
|
||||
private Integer serviceEvalua;
|
||||
/**
|
||||
* 评价文本
|
||||
*/
|
||||
private String serviceEvaluaText;
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
private String imgUrl;
|
||||
/**
|
||||
* 工单图片
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否超时
|
||||
*/
|
||||
private String isTimeOut;
|
||||
|
||||
}
|
@@ -55,6 +55,14 @@ public class CleanOrderVo implements Serializable {
|
||||
* 保洁类型
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 签到方式(1现场拍照2摄像头签到)
|
||||
*/
|
||||
private String signType;
|
||||
/**
|
||||
* 签到图片
|
||||
*/
|
||||
private String signImgUrl;
|
||||
/**
|
||||
* 评价
|
||||
*/
|
||||
|
@@ -2,6 +2,8 @@ package org.dromara.property.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.property.domain.InspectionRoutePoint;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
@@ -76,10 +78,10 @@ public class InspectionRoutePointVo implements Serializable {
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
* 排序
|
||||
*/
|
||||
@ExcelProperty(value = "搜索值")
|
||||
private String searchValue;
|
||||
@NotNull(message = "排序不能为空", groups = { EditGroup.class })
|
||||
private Integer sort;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,10 +1,16 @@
|
||||
package org.dromara.property.domain.vo;
|
||||
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
import org.dromara.property.domain.InspectionTaskDetail;
|
||||
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 org.dromara.property.domain.InspectionTaskDetail;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@@ -16,7 +22,7 @@ import java.util.Date;
|
||||
* 巡检明细视图对象 inspection_task_detail
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@@ -63,11 +69,23 @@ public class InspectionTaskDetailVo implements Serializable {
|
||||
private String patrolType;
|
||||
|
||||
/**
|
||||
* 签到类型
|
||||
* 签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)
|
||||
*/
|
||||
@ExcelProperty(value = "签到类型")
|
||||
@ExcelProperty(value = "签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)")
|
||||
private String signType;
|
||||
|
||||
/**
|
||||
* 实际巡检时间
|
||||
*/
|
||||
@ExcelProperty(value = "实际巡检时间")
|
||||
private Date actualInspectionTime;
|
||||
|
||||
/**
|
||||
* 实际签到状态(1已签到2.未签到)
|
||||
*/
|
||||
@ExcelProperty(value = "实际签到状态(1已签到2.未签到)")
|
||||
private String actualSignState;
|
||||
|
||||
/**
|
||||
* 巡检状态(0未完成,1已完成)
|
||||
*/
|
||||
@@ -75,11 +93,52 @@ public class InspectionTaskDetailVo implements Serializable {
|
||||
private String inspectionState;
|
||||
|
||||
/**
|
||||
* 巡检照片
|
||||
* 巡检图片
|
||||
*/
|
||||
@ExcelProperty(value = "巡检照片")
|
||||
@ExcelProperty(value = "巡检图片")
|
||||
private String inspectionImage;
|
||||
|
||||
/**
|
||||
* 巡检图片Url
|
||||
*/
|
||||
@Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "inspectionImage")
|
||||
private String inspectionImageUrl;
|
||||
/**
|
||||
* 计划巡检人
|
||||
*/
|
||||
@ExcelProperty(value = "计划巡检人")
|
||||
private String planInspectionPerson;
|
||||
|
||||
/**
|
||||
* 实际巡检人
|
||||
*/
|
||||
@ExcelProperty(value = "实际巡检人")
|
||||
private String actualInspectionPerson;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
@ExcelProperty(value = "任务状态")
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 巡检结果
|
||||
*/
|
||||
@ExcelProperty(value = "巡检结果")
|
||||
private String inspectionResults;
|
||||
|
||||
/**
|
||||
* 巡检描述
|
||||
*/
|
||||
@ExcelProperty(value = "巡检描述")
|
||||
private String inspectionDesc;
|
||||
|
||||
/**
|
||||
* 巡检位置
|
||||
*/
|
||||
@ExcelProperty(value = "巡检位置")
|
||||
private String inspectionLocation;
|
||||
|
||||
/**
|
||||
* 实际巡检时间
|
||||
*/
|
||||
|
@@ -138,5 +138,10 @@ public class ResidentPersonVo implements Serializable {
|
||||
*/
|
||||
private String idCard;
|
||||
|
||||
/**
|
||||
* 人员标签类型
|
||||
*/
|
||||
private Integer rosterType;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -48,6 +48,10 @@ public class ServiceWorkOrdersInfoVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "工单类型")
|
||||
private Long type;
|
||||
/**
|
||||
* 上报类型
|
||||
*/
|
||||
private String reportingType;
|
||||
/**
|
||||
* 权重
|
||||
*/
|
||||
|
@@ -54,6 +54,10 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "工单类型")
|
||||
private Long type;
|
||||
/**
|
||||
* 上报类型
|
||||
*/
|
||||
private String reportingType;
|
||||
/**
|
||||
* 工单类型名称
|
||||
*/
|
||||
|
@@ -56,7 +56,10 @@ public class TbVisitorManagementVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "访客电话")
|
||||
private String visitorPhone;
|
||||
|
||||
/**
|
||||
* 身份证/军
|
||||
*/
|
||||
private String idCard;
|
||||
/**
|
||||
* 拜访事由
|
||||
*/
|
||||
|
@@ -35,6 +35,7 @@ public class RemoteResidentPersonServiceImpl implements RemoteResidentPersonServ
|
||||
remoteResidentPersonVo.setName(vo.getUserName());
|
||||
remoteResidentPersonVo.setIdCard(vo.getIdCard());
|
||||
remoteResidentPersonVo.setGender(vo.getGender());
|
||||
remoteResidentPersonVo.setRosterType(vo.getRosterType());
|
||||
remoteResidentPersonVo.setAuthGroupId(vo.getAuthGroupId());
|
||||
remoteResidentPersonVo.setAuthBegDate(vo.getAuthBegDate());
|
||||
remoteResidentPersonVo.setAuthEndDate(vo.getAuthEndDate());
|
||||
|
@@ -1,17 +1,15 @@
|
||||
package org.dromara.property.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.property.domain.InspectionTaskDetail;
|
||||
import org.dromara.property.domain.vo.InspectionTaskDetailVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 巡检明细Mapper接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
@Mapper
|
||||
public interface InspectionTaskDetailMapper extends BaseMapperPlus<InspectionTaskDetail, InspectionTaskDetailVo> {
|
||||
|
||||
}
|
||||
|
@@ -1,9 +1,10 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.domain.InspectionTaskDetail;
|
||||
import org.dromara.property.domain.vo.InspectionTaskDetailVo;
|
||||
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
|
||||
import org.dromara.property.domain.vo.InspectionTaskDetailVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -12,7 +13,7 @@ import java.util.List;
|
||||
* 巡检明细Service接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
public interface IInspectionTaskDetailService {
|
||||
|
||||
|
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
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.ServiceWorkOrderAnalysisVo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersInfoVo;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersVo;
|
||||
@@ -75,4 +76,15 @@ public interface IServiceWorkOrdersService {
|
||||
*/
|
||||
ServiceWorkOrderAnalysisVo counts();
|
||||
|
||||
|
||||
|
||||
//小程序端新增
|
||||
|
||||
/**
|
||||
* 新增工单
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
Boolean insertMServiceWorkOrdersBo(MServiceWorkOrdersBo bo);
|
||||
|
||||
}
|
||||
|
@@ -9,13 +9,12 @@ 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.dromara.property.domain.InspectionTaskDetail;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
|
||||
import org.dromara.property.domain.vo.InspectionTaskDetailVo;
|
||||
import org.dromara.property.domain.InspectionTaskDetail;
|
||||
import org.dromara.property.mapper.InspectionTaskDetailMapper;
|
||||
import org.dromara.property.service.IInspectionTaskDetailService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -25,7 +24,7 @@ import java.util.Collection;
|
||||
* 巡检明细Service业务层处理
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-15
|
||||
* @date 2025-08-08
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@@ -81,7 +80,16 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
lqw.eq(bo.getPointId() != null, InspectionTaskDetail::getPointId, bo.getPointId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPatrolType()), InspectionTaskDetail::getPatrolType, bo.getPatrolType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSignType()), InspectionTaskDetail::getSignType, bo.getSignType());
|
||||
lqw.eq(bo.getActualInspectionTime() != null, InspectionTaskDetail::getActualInspectionTime, bo.getActualInspectionTime());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getActualSignState()), InspectionTaskDetail::getActualSignState, bo.getActualSignState());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionState()), InspectionTaskDetail::getInspectionState, bo.getInspectionState());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionImage()), InspectionTaskDetail::getInspectionImage, bo.getInspectionImage());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPlanInspectionPerson()), InspectionTaskDetail::getPlanInspectionPerson, bo.getPlanInspectionPerson());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getActualInspectionPerson()), InspectionTaskDetail::getActualInspectionPerson, bo.getActualInspectionPerson());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaskStatus()), InspectionTaskDetail::getTaskStatus, bo.getTaskStatus());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionResults()), InspectionTaskDetail::getInspectionResults, bo.getInspectionResults());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionDesc()), InspectionTaskDetail::getInspectionDesc, bo.getInspectionDesc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionLocation()), InspectionTaskDetail::getInspectionLocation, bo.getInspectionLocation());
|
||||
lqw.eq(bo.getInspectionTime() != null, InspectionTaskDetail::getInspectionTime, bo.getInspectionTime());
|
||||
lqw.eq(bo.getPointStartTime() != null, InspectionTaskDetail::getPointStartTime, bo.getPointStartTime());
|
||||
lqw.eq(bo.getPointEndTime() != null, InspectionTaskDetail::getPointEndTime, bo.getPointEndTime());
|
||||
@@ -96,7 +104,6 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(InspectionTaskDetailBo bo) {
|
||||
InspectionTaskDetail add = MapstructUtils.convert(bo, InspectionTaskDetail.class);
|
||||
validEntityBeforeSave(add);
|
||||
@@ -114,7 +121,6 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(InspectionTaskDetailBo bo) {
|
||||
InspectionTaskDetail update = MapstructUtils.convert(bo, InspectionTaskDetail.class);
|
||||
validEntityBeforeSave(update);
|
||||
@@ -136,7 +142,6 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
|
@@ -140,31 +140,26 @@ public class ResidentPersonServiceImpl implements IResidentPersonService {
|
||||
ResidentPerson update = MapstructUtils.convert(bo, ResidentPerson.class);
|
||||
assert update != null;
|
||||
|
||||
boolean flag;
|
||||
// 人脸照片存在时,才同步修改授权
|
||||
if (update.getAuthGroupId() != null && update.getAuthEndDate() != null && update.getImg() != null) {
|
||||
ResidentPersonVo vo = queryById(update.getId());
|
||||
Long e8Id = vo.getEEightId();
|
||||
baseMapper.updateById(update);
|
||||
|
||||
// 显式移除e8id
|
||||
LambdaUpdateWrapper<ResidentPerson> lqw = new LambdaUpdateWrapper<>();
|
||||
lqw.eq(ResidentPerson::getId, update.getId())
|
||||
.set(ResidentPerson::getEEightId, null);
|
||||
flag = baseMapper.update(lqw) > 0;
|
||||
boolean check = baseMapper.update(lqw) > 0;
|
||||
|
||||
|
||||
if (flag && e8Id != null) {
|
||||
if (check && e8Id != null) {
|
||||
log.info("开始修改授权记录, {}", bo.getUserName());
|
||||
// 先删除,定时任务增加
|
||||
Boolean auth = remoteSisAuthService.deletePersonAuth(List.of(update.getId()), List.of(e8Id));
|
||||
Assert.isTrue(auth, "修改授权记录失败!");
|
||||
}
|
||||
|
||||
} else {
|
||||
flag = baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
boolean flag = baseMapper.updateById(update) > 0;
|
||||
Assert.isTrue(flag, "修改入驻员工失败!");
|
||||
return flag;
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ import org.dromara.property.domain.ServiceWorkOrders;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersType;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.ResidentPersonMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
|
||||
@@ -51,7 +52,6 @@ import java.util.stream.Collectors;
|
||||
public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
|
||||
private final ServiceWorkOrdersMapper baseMapper;
|
||||
private final ServiceWorkOrdersTypeMapper serviceWorkOrdersTypeMapper;
|
||||
private final ServiceWorkOrdersTypeMapper typesMapper;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
private final ServiceWorkOrdersRecordMapper workOrdersRecordMapper;
|
||||
@@ -160,11 +160,19 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<ServiceWorkOrders> buildQueryWrapper(ServiceWorkOrdersBo bo) {
|
||||
//查询类型下子类型id
|
||||
LambdaQueryWrapper<ServiceWorkOrdersType> OrdersTypeWrapper = new LambdaQueryWrapper<>();
|
||||
OrdersTypeWrapper.eq(ServiceWorkOrdersType::getParentId,bo.getType());
|
||||
List<ServiceWorkOrdersType> serviceWorkOrdersTypes = typesMapper.selectList(OrdersTypeWrapper);
|
||||
List<Long> typeIds = serviceWorkOrdersTypes.stream()
|
||||
.map(ServiceWorkOrdersType::getId)
|
||||
.collect(Collectors.toList());
|
||||
typeIds.add(bo.getType());
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<ServiceWorkOrders> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(ServiceWorkOrders::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), ServiceWorkOrders::getOrderNo, bo.getOrderNo());
|
||||
lqw.eq(ObjectUtil.isNotEmpty(bo.getStatus()), ServiceWorkOrders::getStatus, bo.getStatus());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), ServiceWorkOrders::getStatus, bo.getStatus());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getOrderName()), ServiceWorkOrders::getOrderName, bo.getOrderName());
|
||||
lqw.eq(bo.getDispatchTime() != null, ServiceWorkOrders::getDispatchTime, bo.getDispatchTime());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getInitiatorName()), ServiceWorkOrders::getInitiatorPeople, bo.getInitiatorName());
|
||||
@@ -173,7 +181,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
lqw.eq(bo.getPlanCompleTime() != null, ServiceWorkOrders::getPlanCompleTime, bo.getPlanCompleTime());
|
||||
lqw.eq(bo.getCompleTime() != null, ServiceWorkOrders::getCompleTime, bo.getCompleTime());
|
||||
lqw.eq(Objects.nonNull(bo.getServiceEvalua()), ServiceWorkOrders::getServiceEvalua, bo.getServiceEvalua());
|
||||
lqw.eq(Objects.nonNull(bo.getType()), ServiceWorkOrders::getType, bo.getType());
|
||||
lqw.in(Objects.nonNull(bo.getType()), ServiceWorkOrders::getType, typeIds);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProcessingWeight()), ServiceWorkOrders::getProcessingWeight, bo.getProcessingWeight());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrders::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
@@ -239,13 +247,11 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
ordersLambdaQueryWrapper.eq(ServiceWorkOrdersRecord::getStatus, entity.getStatus());
|
||||
boolean exists = workOrdersRecordMapper.exists(ordersLambdaQueryWrapper);
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if (!exists) {
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(entity.getId());
|
||||
serviceWorkOrdersRecord.setStatus(entity.getStatus());
|
||||
serviceWorkOrdersRecord.setHandler(entity.getHandler());
|
||||
workOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -459,7 +465,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
Integer count = entry.getValue().intValue();
|
||||
|
||||
// 查询类型名称
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypeMapper.selectById(typeId);
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = typesMapper.selectById(typeId);
|
||||
String type = serviceWorkOrdersType != null ? serviceWorkOrdersType.getOrderTypeName() : "未知类型";
|
||||
|
||||
// 添加到结果中
|
||||
@@ -488,4 +494,28 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
.map(month -> new ServiceWorkOrderAnalysisVo.BarChartVo(month, Math.toIntExact(orderCountMap.getOrDefault(month, 0L))))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//小程序端新增
|
||||
@Override
|
||||
public Boolean insertMServiceWorkOrdersBo(MServiceWorkOrdersBo bo) {
|
||||
ServiceWorkOrders add = MapstructUtils.convert(bo, ServiceWorkOrders.class);
|
||||
LoginUser user = LoginHelper.getLoginUser();
|
||||
add.setOrderNo("GD" + IdUtil.getSnowflakeNextIdStr());
|
||||
add.setStatus("0");
|
||||
add.setInitiatorPeople(user.getNickname());
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(add.getId());
|
||||
serviceWorkOrdersRecord.setStatus(add.getStatus());
|
||||
workOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
@@ -80,9 +81,11 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
|
||||
LambdaQueryWrapper<ServiceWorkOrdersType> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(ServiceWorkOrdersType::getSort);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrderTypeNo()), ServiceWorkOrdersType::getOrderTypeNo, bo.getOrderTypeNo());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrderTypeNo()), ServiceWorkOrdersType::getOrderTypeNo, bo.getOrderTypeNo());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getOrderTypeName()), ServiceWorkOrdersType::getOrderTypeName, bo.getOrderTypeName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOperationMode()), ServiceWorkOrdersType::getOperationMode, bo.getOperationMode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrdersType::getSearchValue, bo.getSearchValue());
|
||||
lqw.eq(ObjectUtil.isNotEmpty(bo.getParentId()), ServiceWorkOrdersType::getParentId, bo.getParentId());
|
||||
lqw.isNull(bo.getFilterSubNodes() != null && bo.getFilterSubNodes(), ServiceWorkOrdersType::getParentId);
|
||||
lqw.ne(bo.getExcludeId()!=null,ServiceWorkOrdersType::getId,bo.getExcludeId());
|
||||
return lqw;
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.dromara.common.core.constant.GlobalConstants;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -12,6 +13,8 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.redis.utils.RedisUtils;
|
||||
import org.dromara.property.domain.bo.QrCodeInfo;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.TbVisitorManagementBo;
|
||||
import org.dromara.property.domain.vo.TbVisitorManagementVo;
|
||||
@@ -35,6 +38,7 @@ import java.util.Collection;
|
||||
public class TbVisitorManagementServiceImpl implements ITbVisitorManagementService {
|
||||
|
||||
private final TbVisitorManagementMapper baseMapper;
|
||||
private final RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询访客管理
|
||||
@@ -100,10 +104,16 @@ public class TbVisitorManagementServiceImpl implements ITbVisitorManagementServi
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(TbVisitorManagementBo bo) {
|
||||
QrCodeInfo info = RedisUtils.getCacheObject("Qrcode" + bo.getQrCodeId());
|
||||
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
|
||||
TbVisitorManagement add = MapstructUtils.convert(bo, TbVisitorManagement.class);
|
||||
validEntityBeforeSave(add);
|
||||
add.setCreateById(info.getUserid());
|
||||
RemoteUserVo userInfoById = remoteUserService.getUserInfoById(info.getUserid());
|
||||
add.setTenantId(userInfoById.getTenantId());
|
||||
add.setCreateBy(userInfoById.getUserId());
|
||||
add.setUpdateById(userInfoById.getUserId());
|
||||
add.setUpdateBy(userInfoById.getUserId());
|
||||
add.setCreateDept(userInfoById.getDeptId());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
|
@@ -18,6 +18,9 @@ import org.dromara.property.mapper.MachineMaintainPlanStaffMapper;
|
||||
import org.dromara.property.mapper.MachineMaintainTaskMapper;
|
||||
import org.dromara.property.mapper.ResidentPersonMapper;
|
||||
import org.dromara.property.service.IMachineMaintainPlanService;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -39,17 +42,21 @@ import static org.dromara.common.mybatis.core.mapper.BaseMapperPlus.log;
|
||||
* @Date:2025/7/17 09:25
|
||||
* @Description:
|
||||
**/
|
||||
@Validated
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/machineTask")
|
||||
//@Validated
|
||||
//@RequiredArgsConstructor
|
||||
//@RestController
|
||||
//@RequestMapping("/machineTask")
|
||||
public class MachineTasks {
|
||||
private final IMachineMaintainPlanService machineMaintainPlanService;
|
||||
private final MachineMaintainTaskMapper machineMaintainTaskMapper;
|
||||
private final MachineMaintainPlanStaffMapper machineMaintainPlanStaffMapper;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
|
||||
@GetMapping("/taskId")
|
||||
//@GetMapping("/taskId")
|
||||
@Scheduled(cron = "0 0 3 * * ?")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void doMachineMaintainPianTask() {
|
||||
// 查询所有启用状态的巡检计划
|
||||
MachineMaintainPlanBo machineMaintainPlanBo= new MachineMaintainPlanBo();
|
||||
|
@@ -0,0 +1,42 @@
|
||||
package org.dromara.property.tasks;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.ServiceWorkOrders;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
|
||||
/**
|
||||
* @Author:yuyongle
|
||||
* @Date:2025/8/7 14:21
|
||||
* @Description:自动派单
|
||||
**/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class ServiceWorkOrderTasks {
|
||||
private ServiceWorkOrdersMapper workOrdersMapper;
|
||||
|
||||
//查询状态为创建工单的工单
|
||||
private void handleServiceWorkOrder() {
|
||||
List<ServiceWorkOrders> serviceWorkOrderList = workOrdersMapper.selectList(
|
||||
new LambdaQueryWrapper<ServiceWorkOrders>()
|
||||
.eq(ServiceWorkOrders::getStatus, "0"));
|
||||
if(CollUtil.isNotEmpty(serviceWorkOrderList)){
|
||||
serviceWorkOrderList.stream().forEach(s->{
|
||||
|
||||
});
|
||||
}else {
|
||||
log.info("派单工单为:{}",serviceWorkOrderList.size());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user