From 55c54d6e6b271a5600c2986d119517af503a6e84 Mon Sep 17 00:00:00 2001 From: zcxlsm Date: Sat, 6 Sep 2025 23:03:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(Property):=20=E6=B7=BB=E5=8A=A0=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=B7=A5=E5=8D=95=E5=A4=84=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/SaPermissionImpl.java | 20 +++- .../ResidentPersonController.java | 2 +- .../ResidentUnitController.java | 2 +- .../xcx/XResidentPersonController.java | 12 +- .../xcx/XResidentUnitController.java | 107 ++++++++++++++++++ .../xcx/XServiceWorkOrdersController.java | 50 ++++++++ .../xcx/XServiceWorkOrdersTypeController.java | 60 ++++++++++ .../bo/residentBo/ResidentPersonBo.java | 7 +- .../entity/resident/ResidentPerson.java | 7 ++ .../vo/residentVo/ResidentPersonVo.java | 8 ++ .../service/IServiceWorkOrdersService.java | 16 +++ .../impl/ServiceWorkOrdersServiceImpl.java | 76 ++++++++++++- .../ResidentPersonServiceImpl.java | 34 +++--- 13 files changed, 365 insertions(+), 36 deletions(-) rename ruoyi-modules/Property/src/main/java/org/dromara/property/controller/{ => residentController}/ResidentPersonController.java (99%) rename ruoyi-modules/Property/src/main/java/org/dromara/property/controller/{ => residentController}/ResidentUnitController.java (98%) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentUnitController.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersController.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersTypeController.java diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java index 7b0b2125..bf6959b6 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java @@ -44,11 +44,21 @@ public class SaPermissionImpl implements StpInterface { } else if (isResidentMatch) { // 居民匹配时的逻辑 return Arrays.asList( - "resident:person:list", - "resident:person:add", - "resident:person:query", - "resident:person:edit", - "resident:person:remove" + // 入驻员工管理 + "xcx:person:list", + "xcx:person:add", + "xcx:person:query", + "xcx:person:edit", + "xcx:person:remove", + // 入驻单位管理 + "xcx:unit:query", + // 工单管理 + "xcx:workOrders:add", + "xcx:workOrders:query", + // 工单类型管理 + "xcx:workOrdersType:query", + // 文件上传 + "system:oss:upload" ); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentPersonController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/residentController/ResidentPersonController.java similarity index 99% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentPersonController.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/controller/residentController/ResidentPersonController.java index 29f9c45f..a82274b9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentPersonController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/residentController/ResidentPersonController.java @@ -1,4 +1,4 @@ -package org.dromara.property.controller; +package org.dromara.property.controller.residentController; import java.util.ArrayList; import java.util.List; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentUnitController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/residentController/ResidentUnitController.java similarity index 98% rename from ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentUnitController.java rename to ruoyi-modules/Property/src/main/java/org/dromara/property/controller/residentController/ResidentUnitController.java index f9570734..e12defc4 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentUnitController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/residentController/ResidentUnitController.java @@ -1,4 +1,4 @@ -package org.dromara.property.controller; +package org.dromara.property.controller.residentController; import java.util.List; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentPersonController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentPersonController.java index c34c4ada..3dd48409 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentPersonController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentPersonController.java @@ -56,9 +56,9 @@ public class XResidentPersonController extends BaseController { } /** - * 查询单位未审核入驻员工列表 + * 查询入驻员工列表 */ - @SaCheckPermission("resident:person:list") + @SaCheckPermission("xcx:person:list") @GetMapping("/list") public TableDataInfo list(ResidentPersonBo bo, PageQuery pageQuery) { return residentPersonService.queryPageList(bo, pageQuery); @@ -69,7 +69,7 @@ public class XResidentPersonController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("resident:person:query") + @SaCheckPermission("xcx:person:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable("id") Long id) { @@ -79,7 +79,7 @@ public class XResidentPersonController extends BaseController { /** * 新增入驻员工 */ - @SaCheckPermission("resident:person:add") + @SaCheckPermission("xcx:person:add") @Log(title = "入驻员工", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -90,7 +90,7 @@ public class XResidentPersonController extends BaseController { /** * 修改入驻员工 */ - @SaCheckPermission("resident:person:edit") + @SaCheckPermission("xcx:person:edit") @Log(title = "入驻员工", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -103,7 +103,7 @@ public class XResidentPersonController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("resident:person:remove") + @SaCheckPermission("xcx:person:remove") @Log(title = "入驻员工", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentUnitController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentUnitController.java new file mode 100644 index 00000000..bfd114eb --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XResidentUnitController.java @@ -0,0 +1,107 @@ +package org.dromara.property.controller.xcx; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +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.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.residentBo.ResidentUnitBo; +import org.dromara.property.domain.vo.residentVo.ResidentUnitVo; +import org.dromara.property.service.residentService.IResidentUnitService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 入驻单位 + * 前端访问路由地址为:/property/resident_unit + * + * @author mocheng + * @since 2025-06-19 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/xcx/unit") +public class XResidentUnitController extends BaseController { + + private final IResidentUnitService residentUnitService; + + /** + * 查询入驻单位列表 + */ + @SaCheckPermission("property:resident_unit:list") + @GetMapping("/list") + public TableDataInfo list(ResidentUnitBo bo, PageQuery pageQuery) { + return residentUnitService.queryPageList(bo, pageQuery); + } + + /** + * 导出入驻单位列表 + */ + @SaCheckPermission("property:resident_unit:export") + @Log(title = "入驻单位", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ResidentUnitBo bo, HttpServletResponse response) { + List list = residentUnitService.queryList(bo); + ExcelUtil.exportExcel(list, "入驻单位", ResidentUnitVo.class, response); + } + + /** + * 获取入驻单位详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("xcx:unit:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(residentUnitService.queryById(id)); + } + + /** + * 新增入驻单位 + */ + @SaCheckPermission("property:resident_unit:add") + @Log(title = "入驻单位", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ResidentUnitBo bo) { + return toAjax(residentUnitService.insertByBo(bo)); + } + + /** + * 修改入驻单位 + */ + @SaCheckPermission("property:resident_unit:edit") + @Log(title = "入驻单位", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ResidentUnitBo bo) { + return toAjax(residentUnitService.updateByBo(bo)); + } + + /** + * 删除入驻单位 + * + * @param ids 主键串 + */ + @SaCheckPermission("property:resident_unit:remove") + @Log(title = "入驻单位", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(residentUnitService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersController.java new file mode 100644 index 00000000..b6e41568 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersController.java @@ -0,0 +1,50 @@ +package org.dromara.property.controller.xcx; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +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.ServiceWorkOrdersBo; +import org.dromara.property.domain.vo.ServiceWorkOrdersVo; +import org.dromara.property.service.IServiceWorkOrdersService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 【业务管理-工单处理】 + * + * @author mocheng + * @since 2025-07-07 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/xcx/workOrders") +public class XServiceWorkOrdersController extends BaseController { + + private final IServiceWorkOrdersService serviceWorkOrdersService; + + /** + * 小程序新增【工单处理】 + */ + @PostMapping() + @SaCheckPermission("xcx:workOrders:add") + @Log(title = "【小程序新增工单处理】", businessType = BusinessType.INSERT) + public R add(@Validated(AddGroup.class) @RequestBody ServiceWorkOrdersBo bo) { + return toAjax(serviceWorkOrdersService.insertOrderByXcx(bo)); + } + + /** + * 小程序查询【工单处理】 + */ + @GetMapping("/list") + @SaCheckPermission("xcx:workOrders:query") + public R> list() { + return R.ok(serviceWorkOrdersService.queryMyOrderByXcx()); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersTypeController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersTypeController.java new file mode 100644 index 00000000..17d6d83c --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/xcx/XServiceWorkOrdersTypeController.java @@ -0,0 +1,60 @@ +package org.dromara.property.controller.xcx; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +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.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.ServiceWorkOrdersTypeBo; +import org.dromara.property.domain.vo.ServiceWorkOrdersTypeVo; +import org.dromara.property.service.IServiceWorkOrdersTypeService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 【工单类型】 + * 前端访问路由地址为:/property/workOrdersType + * + * @author mocheng + * @since 2025-07-09 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/xcx/workOrdersType") +public class XServiceWorkOrdersTypeController extends BaseController { + + private final IServiceWorkOrdersTypeService serviceWorkOrdersTypeService; + + /** + * 获取【工单类型】详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("xcx:workOrdersType:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(serviceWorkOrdersTypeService.queryById(id)); + } + + /** + * 查询【工单类型】树结构 + */ + @GetMapping("/typeTree") + public R> typeTree() { + return R.ok(serviceWorkOrdersTypeService.typeTree()); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/residentBo/ResidentPersonBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/residentBo/ResidentPersonBo.java index d8eed187..edd3c960 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/residentBo/ResidentPersonBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/residentBo/ResidentPersonBo.java @@ -124,7 +124,7 @@ public class ResidentPersonBo extends BaseEntity { /** * 人员标签类型 */ - private Integer rosterType = 2; + private Integer rosterType; /** * 用户角色(1管理员2普通用户) @@ -135,4 +135,9 @@ public class ResidentPersonBo extends BaseEntity { * 是否审核通过(1通过2不通过) */ private Integer isAudit; + + /** + * 审核状态(1已处理2待处理) + */ + private Integer isAuditState; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/entity/resident/ResidentPerson.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/entity/resident/ResidentPerson.java index addd508e..abb650ca 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/entity/resident/ResidentPerson.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/entity/resident/ResidentPerson.java @@ -92,10 +92,17 @@ public class ResidentPerson extends TenantEntity { * 用户角色(1管理员2普通用户) */ private Integer userRoles; + /** * 是否审核通过(1通过2不通过) */ private Integer isAudit; + + /** + * 审核状态(1已处理2待处理) + */ + private Integer isAuditState; + /** * 备注 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/residentVo/ResidentPersonVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/residentVo/ResidentPersonVo.java index 9cb930f6..a068ff44 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/residentVo/ResidentPersonVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/residentVo/ResidentPersonVo.java @@ -158,5 +158,13 @@ public class ResidentPersonVo implements Serializable { */ private Integer isAudit; + /** + * 审核状态(1已处理2待处理) + */ + private Integer isAuditState; + + private Date createTime; + + private Date updateTime; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java index a9707a0c..ca0dcaf7 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServiceWorkOrdersService.java @@ -103,4 +103,20 @@ public interface IServiceWorkOrdersService { * @return 【工单处理】分页列表 */ TableDataInfo queryMobilePageList(ServiceWorkOrdersBo bo, PageQuery pageQuery); + + /** + * xcx新增报事报修 + * + * @param bo bean + * @return Boolean + */ + Boolean insertOrderByXcx(ServiceWorkOrdersBo bo); + + + /** + * xcx查询本人上报工单 + * + * @return list + */ + List queryMyOrderByXcx(); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java index 6870bbc0..2afb6c2a 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ServiceWorkOrdersServiceImpl.java @@ -19,6 +19,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.property.api.model.LoginResidentPerson; import org.dromara.property.domain.*; import org.dromara.property.domain.bo.ServiceWorkOrdersBo; import org.dromara.property.domain.bo.mobile.MServiceWorkOrdersBo; @@ -34,6 +35,7 @@ import org.dromara.property.mapper.ServiceWorkOrdersRecordMapper; import org.dromara.property.mapper.ServiceWorkOrdersTypeMapper; import org.dromara.property.mapper.attendanceMapper.AttendanceUserGroupMapper; import org.dromara.property.service.IServiceWorkOrdersService; +import org.dromara.property.service.IServiceWorkOrdersTypeService; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteUserVo; import org.dromara.system.api.model.LoginUser; @@ -64,6 +66,10 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { private RemoteUserService remoteUserService; private final AttendanceUserGroupMapper attendanceUserGroupMapper; + /******************************xcx**************************************/ + private final IServiceWorkOrdersTypeService serviceWorkOrdersTypeService; + + /** * 查询【工单处理】 * @@ -227,7 +233,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { boolean flags = workOrdersRecordMapper.insert(serviceWorkOrdersRecord) > 0; if (flags) { if (serviceWorkOrdersType.getOperationMode().equals(OrderTypeOperationEnum.AUTOMATE_DISPATCH.getValue())) { - handleServiceWorkOrder(add,serviceWorkOrdersType); + handleServiceWorkOrder(add, serviceWorkOrdersType); } } } @@ -235,7 +241,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { } //自动派单 - private void handleServiceWorkOrder(ServiceWorkOrders serviceWorkOrders,ServiceWorkOrdersType serviceWorkOrdersType) { + private void handleServiceWorkOrder(ServiceWorkOrders serviceWorkOrders, ServiceWorkOrdersType serviceWorkOrdersType) { LocalDate today = LocalDate.now(); // 1. 获取今日排班人员(优先查缓存,未命中则查询数据库并缓存) List attendanceUserGroups = RedisUtils.getCacheList(DateUtil.today()); @@ -246,8 +252,8 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { .eq(AttendanceUserGroup::getDeptId, serviceWorkOrdersType.getDeptId()) .orderByAsc(AttendanceUserGroup::getStartDate) ); - if (CollUtil.isEmpty(attendanceUserGroups)|| attendanceUserGroups.size() != attendanceUserGroupList.size()) { - attendanceUserGroups=attendanceUserGroupList; + if (CollUtil.isEmpty(attendanceUserGroups) || attendanceUserGroups.size() != attendanceUserGroupList.size()) { + attendanceUserGroups = attendanceUserGroupList; Assert.isTrue(CollUtil.isNotEmpty(attendanceUserGroups), "暂无排班人员"); // 缓存当天排班数据(假设当天不会变) RedisUtils.setCacheList(DateUtil.today(), attendanceUserGroups); @@ -591,7 +597,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { boolean flags = workOrdersRecordMapper.insert(serviceWorkOrdersRecord) > 0; if (flags) { if (serviceWorkOrdersType.getOperationMode().equals(OrderTypeOperationEnum.AUTOMATE_DISPATCH.getValue())) { - handleServiceWorkOrder(add,serviceWorkOrdersType); + handleServiceWorkOrder(add, serviceWorkOrdersType); } } } @@ -695,4 +701,64 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService { mServiceWorkOrdersVo.setRecordVoList(mServiceWorkOrdersRecordVos); } } + + /** + * xcx新增报事报修 + * + * @param bo bean + * @return Boolean + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertOrderByXcx(ServiceWorkOrdersBo bo) { + ServiceWorkOrders add = MapstructUtils.convert(bo, ServiceWorkOrders.class); + Assert.notNull(add, "数据处理失败"); + + ServiceWorkOrdersTypeVo typeVo = serviceWorkOrdersTypeService.queryById(bo.getType()); + Assert.notNull(typeVo, "工单类型不存在"); + + assert add != null; + add.setOrderNo("GD" + IdUtil.getSnowflakeNextIdStr()); + add.setStatus(WorkOrderStatusEnum.CREATE_ORDER.getValue()); + add.setReportingType(OrderReportingTypeEnum.PHONE_REPORT.getValue()); + + LoginResidentPerson person = LoginHelper.getLoginResident(); + Assert.notNull(person, "用户信息不存在"); + assert person != null; + add.setInitiatorPeople(person.getNickname()); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord(); + serviceWorkOrdersRecord.setOrderId(add.getId()); + serviceWorkOrdersRecord.setStatus(add.getStatus()); + boolean flags = workOrdersRecordMapper.insert(serviceWorkOrdersRecord) > 0; + if (flags) { + if (typeVo.getOperationMode().equals(OrderTypeOperationEnum.AUTOMATE_DISPATCH.getValue())) { + ServiceWorkOrdersType type = MapstructUtils.convert(typeVo, ServiceWorkOrdersType.class); + assert type != null; + handleServiceWorkOrder(add, type); + } + } + } + return flag; + } + + /** + * xcx查询本人上报工单 + * + * @return list + */ + @Override + public List queryMyOrderByXcx() { + LoginResidentPerson person = LoginHelper.getLoginResident(); + Assert.notNull(person, "用户信息不存在"); + + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + assert person != null; + qw.like(ServiceWorkOrders::getInitiatorPeople, person.getNickname()) + .orderByDesc(ServiceWorkOrders::getCreateTime); + return baseMapper.selectVoList(qw); + } + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/residentImpl/ResidentPersonServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/residentImpl/ResidentPersonServiceImpl.java index 597a51e9..ae94b7a7 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/residentImpl/ResidentPersonServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/residentImpl/ResidentPersonServiceImpl.java @@ -27,10 +27,7 @@ import org.dromara.property.service.residentService.IResidentPersonService; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.List; -import java.util.Map; -import java.util.Collection; -import java.util.Objects; +import java.util.*; /** * 入驻员工Service业务层处理 @@ -117,16 +114,19 @@ public class ResidentPersonServiceImpl implements IResidentPersonService { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.orderByDesc(ResidentPerson::getCreateTime) .orderByDesc(ResidentPerson::getUpdateTime); - lqw.like(StringUtils.isNotBlank(bo.getUserName()), ResidentPerson::getUserName, bo.getUserName()); - lqw.eq(StringUtils.isNotBlank(bo.getPhone()), ResidentPerson::getPhone, bo.getPhone()); - lqw.eq(bo.getGender() != null, ResidentPerson::getGender, bo.getGender()); - lqw.eq(StringUtils.isNotBlank(bo.getImg()), ResidentPerson::getImg, bo.getImg()); - lqw.eq(bo.getUnitId() != null, ResidentPerson::getUnitId, bo.getUnitId()); - lqw.like(StringUtils.isNotBlank(bo.getUnitName()), ResidentPerson::getUnitName, bo.getUnitName()); - lqw.eq(StringUtils.isNotBlank(bo.getLocathon()), ResidentPerson::getLocathon, bo.getLocathon()); lqw.eq(bo.getTime() != null, ResidentPerson::getTime, bo.getTime()); - lqw.eq(StringUtils.isNotBlank(bo.getCarNumber()), ResidentPerson::getCarNumber, bo.getCarNumber()); lqw.eq(bo.getState() != null, ResidentPerson::getState, bo.getState()); + lqw.eq(bo.getUnitId() != null, ResidentPerson::getUnitId, bo.getUnitId()); + lqw.eq(bo.getGender() != null, ResidentPerson::getGender, bo.getGender()); + lqw.eq(bo.getIsAudit() != null, ResidentPerson::getIsAudit, bo.getIsAudit()); + lqw.eq(bo.getIsAuditState() != null, ResidentPerson::getIsAuditState, bo.getIsAuditState()); + + lqw.eq(StringUtils.isNotBlank(bo.getImg()), ResidentPerson::getImg, bo.getImg()); + lqw.eq(StringUtils.isNotBlank(bo.getPhone()), ResidentPerson::getPhone, bo.getPhone()); + lqw.eq(StringUtils.isNotBlank(bo.getLocathon()), ResidentPerson::getLocathon, bo.getLocathon()); + lqw.like(StringUtils.isNotBlank(bo.getUnitName()), ResidentPerson::getUnitName, bo.getUnitName()); + lqw.eq(StringUtils.isNotBlank(bo.getCarNumber()), ResidentPerson::getCarNumber, bo.getCarNumber()); + lqw.like(StringUtils.isNotBlank(bo.getUserName()), ResidentPerson::getUserName, bo.getUserName()); return lqw; } @@ -148,15 +148,15 @@ public class ResidentPersonServiceImpl implements IResidentPersonService { // 首次入驻新用户权限组默认使用公司权限 ResidentUnitVo ruVo = residentUnitService.queryById(bo.getUnitId()); // 密码加密,不存明文密码 - if (Objects.equals(add.getPassword(), "") || add.getPassword() == null){ + if (Objects.equals(add.getPassword(), "") || add.getPassword() == null) { add.setPassword(BCrypt.hashpw("123456")); - }else { + } else { add.setPassword(BCrypt.hashpw(add.getPassword())); } - //查询该单位下是否有管理员 - new LambdaQueryWrapper().eq(ResidentPerson::getUnitId, bo.getUnitId()) - .eq(ResidentPerson::getUserRoles, 1); + // 添加入驻时间 + add.setTime(new Date()); + add.setUnitName(ruVo.getName()); add.setAuthGroupId(ruVo.getAuthGroupId()); add.setAuthBegDate(ruVo.getAuthBegDate()); add.setAuthEndDate(ruVo.getAuthEndDate());