Compare commits
65 Commits
0385bef3f4
...
prod
Author | SHA1 | Date | |
---|---|---|---|
c2f0b64e6f | |||
0330b023a3 | |||
1eb95bf6f6 | |||
df9adf700c | |||
19e259a15e | |||
6133d7761d | |||
318da3f0ee | |||
3c8eb59165 | |||
3c480d92f0 | |||
78d97e14ee | |||
c2c1818ba6 | |||
3ebc58f5e3 | |||
07b9e8b722 | |||
b20828a800 | |||
9c0b0bad03 | |||
c4495d2cf2 | |||
a16c333759 | |||
6e84a1c646 | |||
a6b0277ff6 | |||
ef0976c621 | |||
e949122b37 | |||
638a98a4c6 | |||
360f87ea0d | |||
555de9f5aa | |||
da131cda5c | |||
c86f887d3e | |||
2c127576a0 | |||
15a0f3f884 | |||
0d4754eef9 | |||
dad6666107 | |||
87b77b26d1 | |||
0584a44601 | |||
![]() |
18bd1724c4 | ||
![]() |
c8475f818d | ||
d3a1d16b8f | |||
5ec2a67049 | |||
9eeca6f32e | |||
8966b52cc5 | |||
b022d3a68c | |||
63e5abc003 | |||
1d8b948a13 | |||
953a545ba6 | |||
a8dc8d99df | |||
fb7e5c7e19 | |||
1b5204e6ed | |||
8340f5cf6a | |||
9897bb8db7 | |||
4a62ad17c3 | |||
1e39769309 | |||
df9e3b77ff | |||
42b5c78658 | |||
49401d42ba | |||
1aa576a9ae | |||
d0ccd668fa | |||
3c144d00e5 | |||
359a380937 | |||
a36667e599 | |||
1d8ad14ebc | |||
73e47e5127 | |||
2e314b2901 | |||
2103be1de5 | |||
2a143bb147 | |||
37966e73c1 | |||
f01d28b21e | |||
db9b1e1cd3 |
@@ -1,205 +0,0 @@
|
||||
run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build-parent-pom:
|
||||
runs-on: ubuntu
|
||||
steps:
|
||||
- name: 拉取代码仓库
|
||||
uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||
|
||||
- name: 配置环境变量(绝对路径)
|
||||
run: |
|
||||
export JAVA_HOME="/java17/java17"
|
||||
export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||
|
||||
if [ ! -f "$JAVA_HOME/bin/java" ]; then
|
||||
echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then
|
||||
echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||
echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||
echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||
|
||||
"$JAVA_HOME/bin/java" -version
|
||||
"$MAVEN_HOME/bin/mvn" -v
|
||||
|
||||
- name: 配置Maven仓库
|
||||
run: |
|
||||
mkdir -p ~/.m2
|
||||
cat > ~/.m2/settings.xml << EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<settings>
|
||||
<localRepository>/root/.m2/repository</localRepository>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>multi-repo</id>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>local-repo</id>
|
||||
<url>file:///root/.m2/repository</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>aliyun-public</id>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
</profile>
|
||||
</profiles>
|
||||
<activeProfiles>
|
||||
<activeProfile>multi-repo</activeProfile>
|
||||
</activeProfiles>
|
||||
</settings>
|
||||
EOF
|
||||
|
||||
- name: 构建主POM(仅本地安装,不上传)
|
||||
run: |
|
||||
MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml"
|
||||
if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then
|
||||
echo "错误:主POM文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
retries=3
|
||||
count=0
|
||||
until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do
|
||||
count=$((count + 1))
|
||||
if [ $count -ge $retries ]; then
|
||||
echo "错误:主POM构建失败"
|
||||
exit 1
|
||||
fi
|
||||
sleep 10
|
||||
done
|
||||
|
||||
# build-common-modules:
|
||||
# needs: build-parent-pom
|
||||
# runs-on: ubuntu
|
||||
# steps:
|
||||
# - name: 拉取代码仓库
|
||||
# uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||
|
||||
# - name: 配置环境变量
|
||||
# run: |
|
||||
# export JAVA_HOME="/java17/java17"
|
||||
# export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||
# echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||
# echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||
# echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||
# echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||
|
||||
# - name: 构建通用模块(仅本地使用,不上传)
|
||||
# run: |
|
||||
# COMMON_MODULES=(
|
||||
# "ruoyi-common"
|
||||
# "ruoyi-api"
|
||||
# "ruoyi-common-bom"
|
||||
# "ruoyi-common-alibaba-bom"
|
||||
# "ruoyi-api-bom"
|
||||
# )
|
||||
|
||||
# for module in "${COMMON_MODULES[@]}"; do
|
||||
# MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml"
|
||||
# if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then
|
||||
# echo "警告:模块 $module 不存在,跳过"
|
||||
# continue
|
||||
# fi
|
||||
|
||||
# retries=3
|
||||
# count=0
|
||||
# until "$MAVEN_HOME/bin/mvn" clean compile install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do
|
||||
# count=$((count + 1))
|
||||
# if [ $count -ge $retries ]; then
|
||||
# echo "错误:模块 $module 构建失败"
|
||||
# exit 1
|
||||
# fi
|
||||
# sleep 10
|
||||
# done
|
||||
# done
|
||||
|
||||
build-and-push-services:
|
||||
needs: build-common-modules
|
||||
runs-on: ubuntu
|
||||
strategy:
|
||||
matrix:
|
||||
service:
|
||||
- ruoyi-auth
|
||||
- ruoyi-gateway
|
||||
- ruoyi-modules/Property
|
||||
- ruoyi-modules/ruoyi-gen
|
||||
- ruoyi-modules/ruoyi-job
|
||||
- ruoyi-modules/ruoyi-resource
|
||||
- ruoyi-modules/ruoyi-system
|
||||
- ruoyi-modules/ruoyi-workflow
|
||||
- ruoyi-modules/Sis
|
||||
- ruoyi-visual/ruoyi-monitor
|
||||
- ruoyi-visual/ruoyi-nacos
|
||||
- ruoyi-seata-server
|
||||
- ruoyi-sentinel-dashboard
|
||||
- ruoyi-snailjob-server
|
||||
steps:
|
||||
- name: 拉取代码仓库
|
||||
uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||
|
||||
- name: 配置环境变量
|
||||
run: |
|
||||
export JAVA_HOME="/java17/java17"
|
||||
export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||
echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||
echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: 构建服务模块
|
||||
run: |
|
||||
SERVICE_NAME="${{ matrix.service }}"
|
||||
SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml"
|
||||
if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then
|
||||
echo "错误:服务 $SERVICE_NAME 的POM文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH"
|
||||
|
||||
- name: 配置Docker Buildx
|
||||
uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3
|
||||
|
||||
- name: 登录到容器仓库
|
||||
uses: http://git.missmoc.top/mocheng/login-action@v3
|
||||
with:
|
||||
registry: ${{ secrets.REGISTRY_URL }}
|
||||
username: ${{ secrets.REGISTRY_USER }}
|
||||
password: ${{ secrets.REGISTRY_PASS }}
|
||||
|
||||
- name: 确定Dockerfile路径
|
||||
id: dockerfile-path
|
||||
run: |
|
||||
SERVICE_NAME="${{ matrix.service }}"
|
||||
DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile"
|
||||
|
||||
if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then
|
||||
echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: 构建并推送Docker镜像(仅推送镜像,不上传JAR)
|
||||
uses: http://git.missmoc.top/mocheng/build-push-action@v5
|
||||
with:
|
||||
context: "${{ github.workspace }}"
|
||||
file: ${{ github.workspace }}/${{ matrix.service }}/Dockerfile
|
||||
tags: 172.100.10.45:3000/by2025/smartparks/${{ matrix.service }}:latest
|
||||
# tags: ${{ secrets.REGISTRY_URL }}/by2025/$(echo ${{ matrix.service }} | tr 'A-Z' 'a-z'):${{ github.sha }}
|
||||
# tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:2.0.4
|
||||
push: true
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
@@ -3,7 +3,7 @@ name: Build and Push to Target Registry
|
||||
# 监听master分支的推送事件
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ prod ]
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
@@ -87,3 +87,8 @@ jobs:
|
||||
echo "===== 清理操作 ====="
|
||||
docker system prune -f
|
||||
echo "===== 所有操作完成 ===="
|
||||
|
||||
- name: 重启服务
|
||||
run: |
|
||||
kubectl rollout restart deployment sis -n smartparks
|
||||
kubectl rollout restart deployment property -n smartparks
|
||||
|
10
pom.xml
10
pom.xml
@@ -91,12 +91,12 @@
|
||||
<properties>
|
||||
<!-- 环境标识,需要与配置文件的名称相对应 -->
|
||||
<profiles.active>dev</profiles.active>
|
||||
<nacos.server>127.0.0.1:8848</nacos.server>
|
||||
<logstash.address>127.0.0.1:4560</logstash.address>
|
||||
<nacos.server>113.249.101.254:8848</nacos.server>
|
||||
<logstash.address>113.249.101.254:4560</logstash.address>
|
||||
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
|
||||
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
|
||||
<nacos.username>nacos</nacos.username>
|
||||
<nacos.password>nacos</nacos.password>
|
||||
<nacos.password>by@2025??</nacos.password>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
@@ -118,8 +118,8 @@
|
||||
<id>prod</id>
|
||||
<properties>
|
||||
<profiles.active>prod</profiles.active>
|
||||
<nacos.server>10.20.1.185:8848</nacos.server>
|
||||
<logstash.address>10.20.1.185:4560</logstash.address>
|
||||
<nacos.server>127.0.0.1:8848</nacos.server>
|
||||
<logstash.address>127.0.0.1:4560</logstash.address>
|
||||
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
|
||||
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
|
||||
<nacos.username>nacos</nacos.username>
|
||||
|
@@ -25,6 +25,7 @@ public interface RemoteUserService {
|
||||
* @return 结果
|
||||
*/
|
||||
LoginUser getUserInfo(String username, String tenantId) throws UserException;
|
||||
|
||||
/**
|
||||
* 通过用户id查询用户信息
|
||||
*
|
||||
@@ -196,6 +197,10 @@ public interface RemoteUserService {
|
||||
*/
|
||||
Map<Long, String> selectPostNamesByIds(List<Long> postIds);
|
||||
|
||||
Map<String ,Integer> seelectOrgcount();
|
||||
Map<String, Integer> seelectOrgcount();
|
||||
|
||||
/**
|
||||
* 查询用户列表
|
||||
*/
|
||||
List<RemoteUserVo> selectUserList(List<Long> userIds);
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ RUN mkdir -p /ruoyi/Property/logs \
|
||||
|
||||
WORKDIR /ruoyi/Property
|
||||
|
||||
ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
|
||||
ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Duser.timezone=Asia/Shanghai"
|
||||
|
||||
EXPOSE ${SERVER_PORT}
|
||||
|
||||
|
@@ -125,6 +125,11 @@
|
||||
<artifactId>ruoyi-common-websocket</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.rocketmq</groupId>
|
||||
<artifactId>rocketmq-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
@@ -62,7 +62,7 @@ public class ApplicationController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
//@SaCheckPermission("property:application:query")
|
||||
@SaCheckPermission("property:application:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<ApplicationVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
|
@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 资产申请
|
||||
* 前端访问路由地址为:/domain/application
|
||||
* 前端访问路由地址为:/domain/procurementApplication
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-25
|
||||
@@ -40,7 +40,7 @@ public class CapitalApplicationController extends BaseController {
|
||||
/**
|
||||
* 查询资产申请列表
|
||||
*/
|
||||
// @SaCheckPermission("domain:application:list")
|
||||
@SaCheckPermission("domain:procurementApplication:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CapitalApplicationVo> list(CapitalApplicationBo bo, PageQuery pageQuery) {
|
||||
return capitalApplicationService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class CapitalApplicationController extends BaseController {
|
||||
/**
|
||||
* 导出资产申请列表
|
||||
*/
|
||||
@SaCheckPermission("domain:application:export")
|
||||
@SaCheckPermission("domain:procurementApplication:export")
|
||||
@Log(title = "资产申请", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CapitalApplicationBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class CapitalApplicationController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("domain:application:query")
|
||||
@SaCheckPermission("domain:procurementApplication:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CapitalApplicationVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class CapitalApplicationController extends BaseController {
|
||||
/**
|
||||
* 新增资产申请
|
||||
*/
|
||||
// @SaCheckPermission("domain:application:add")
|
||||
// @SaCheckPermission("domain:procurementApplication:add")
|
||||
@Log(title = "资产申请", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class CapitalApplicationController extends BaseController {
|
||||
/**
|
||||
* 修改资产申请
|
||||
*/
|
||||
@SaCheckPermission("domain:application:edit")
|
||||
@SaCheckPermission("domain:procurementApplication:edit")
|
||||
@Log(title = "资产申请", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class CapitalApplicationController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("domain:application:remove")
|
||||
@SaCheckPermission("domain:procurementApplication:remove")
|
||||
@Log(title = "资产申请", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class CostItemsController extends BaseController {
|
||||
/**
|
||||
* 查询费用项设置列表
|
||||
*/
|
||||
@SaCheckPermission("property:costItems:list")
|
||||
@SaCheckPermission("property:costItemSetting:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostItemsVo> list(CostItemsBo bo, PageQuery pageQuery) {
|
||||
return costItemsService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class CostItemsController extends BaseController {
|
||||
/**
|
||||
* 导出费用项设置列表
|
||||
*/
|
||||
@SaCheckPermission("property:costItems:export")
|
||||
@SaCheckPermission("property:costItemSetting:export")
|
||||
@Log(title = "费用项设置", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostItemsBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class CostItemsController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("property:costItems:query")
|
||||
@SaCheckPermission("property:costItemSetting:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CostItemsVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class CostItemsController extends BaseController {
|
||||
/**
|
||||
* 新增费用项设置
|
||||
*/
|
||||
@SaCheckPermission("property:costItems:add")
|
||||
@SaCheckPermission("property:costItemSetting:add")
|
||||
@Log(title = "费用项设置", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class CostItemsController extends BaseController {
|
||||
/**
|
||||
* 修改费用项设置
|
||||
*/
|
||||
@SaCheckPermission("property:costItems:edit")
|
||||
@SaCheckPermission("property:costItemSetting:edit")
|
||||
@Log(title = "费用项设置", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class CostItemsController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("property:costItems:remove")
|
||||
@SaCheckPermission("property:costItemSetting:remove")
|
||||
@Log(title = "费用项设置", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class CostMeterWaterController extends BaseController {
|
||||
/**
|
||||
* 查询费用-水电抄列表
|
||||
*/
|
||||
@SaCheckPermission("system:meterWater:list")
|
||||
@SaCheckPermission("property:costMeterWater:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostMeterWaterVo> list(CostMeterWaterBo bo, PageQuery pageQuery) {
|
||||
return costMeterWaterService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class CostMeterWaterController extends BaseController {
|
||||
/**
|
||||
* 导出费用-水电抄列表
|
||||
*/
|
||||
@SaCheckPermission("system:meterWater:export")
|
||||
@SaCheckPermission("property:costMeterWater:export")
|
||||
@Log(title = "费用-水电抄", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostMeterWaterBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class CostMeterWaterController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:meterWater:query")
|
||||
@SaCheckPermission("property:costMeterWater:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CostMeterWaterVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -82,7 +82,7 @@ public class CostMeterWaterController extends BaseController {
|
||||
/**
|
||||
* 新增费用-水电抄
|
||||
*/
|
||||
@SaCheckPermission("system:meterWater:add")
|
||||
@SaCheckPermission("property:costMeterWater:add")
|
||||
@Log(title = "费用-水电抄", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -93,7 +93,7 @@ public class CostMeterWaterController extends BaseController {
|
||||
/**
|
||||
* 修改费用-水电抄
|
||||
*/
|
||||
@SaCheckPermission("system:meterWater:edit")
|
||||
@SaCheckPermission("property:costMeterWater:edit")
|
||||
@Log(title = "费用-水电抄", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -106,7 +106,7 @@ public class CostMeterWaterController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:meterWater:remove")
|
||||
@SaCheckPermission("property:costMeterWater:remove")
|
||||
@Log(title = "费用-水电抄", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class CostPayFeeAuditController extends BaseController {
|
||||
/**
|
||||
* 查询费用-缴费审核列表
|
||||
*/
|
||||
// @SaCheckPermission("system:payFeeAudit:list")
|
||||
@SaCheckPermission("property:payFeeAudit:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostPayFeeAuditVo> list(CostPayFeeAuditBo bo, PageQuery pageQuery) {
|
||||
return costPayFeeAuditService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class CostPayFeeAuditController extends BaseController {
|
||||
/**
|
||||
* 导出费用-缴费审核列表
|
||||
*/
|
||||
@SaCheckPermission("system:payFeeAudit:export")
|
||||
@SaCheckPermission("property:payFeeAudit:export")
|
||||
@Log(title = "费用-缴费审核", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostPayFeeAuditBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class CostPayFeeAuditController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:payFeeAudit:query")
|
||||
@SaCheckPermission("property:payFeeAudit:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CostPayFeeAuditVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class CostPayFeeAuditController extends BaseController {
|
||||
/**
|
||||
* 新增费用-缴费审核
|
||||
*/
|
||||
@SaCheckPermission("system:payFeeAudit:add")
|
||||
@SaCheckPermission("property:payFeeAudit:add")
|
||||
@Log(title = "费用-缴费审核", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class CostPayFeeAuditController extends BaseController {
|
||||
/**
|
||||
* 修改费用-缴费审核
|
||||
*/
|
||||
@SaCheckPermission("system:payFeeAudit:edit")
|
||||
@SaCheckPermission("property:payFeeAudit:edit")
|
||||
@Log(title = "费用-缴费审核", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class CostPayFeeAuditController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:payFeeAudit:remove")
|
||||
@SaCheckPermission("property:payFeeAudit:remove")
|
||||
@Log(title = "费用-缴费审核", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 费用-抄类型
|
||||
* 前端访问路由地址为:/system/returnPayFee
|
||||
* 前端访问路由地址为:/property/returnPayFee
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-17
|
||||
@@ -40,7 +40,7 @@ public class CostReturnPayFeeController extends BaseController {
|
||||
/**
|
||||
* 查询费用-抄类型列表
|
||||
*/
|
||||
//@SaCheckPermission("system:returnPayFee:list")
|
||||
@SaCheckPermission("property:returnPayFee:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostReturnPayFeeVo> list(CostReturnPayFeeBo bo, PageQuery pageQuery) {
|
||||
return costReturnPayFeeService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class CostReturnPayFeeController extends BaseController {
|
||||
/**
|
||||
* 导出费用-抄类型列表
|
||||
*/
|
||||
@SaCheckPermission("system:returnPayFee:export")
|
||||
@SaCheckPermission("property:returnPayFee:export")
|
||||
@Log(title = "费用-抄类型", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostReturnPayFeeBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class CostReturnPayFeeController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:returnPayFee:query")
|
||||
@SaCheckPermission("property:returnPayFee:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CostReturnPayFeeVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class CostReturnPayFeeController extends BaseController {
|
||||
/**
|
||||
* 新增费用-抄类型
|
||||
*/
|
||||
@SaCheckPermission("system:returnPayFee:add")
|
||||
@SaCheckPermission("property:returnPayFee:add")
|
||||
@Log(title = "费用-抄类型", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class CostReturnPayFeeController extends BaseController {
|
||||
/**
|
||||
* 修改费用-抄类型
|
||||
*/
|
||||
@SaCheckPermission("system:returnPayFee:edit")
|
||||
@SaCheckPermission("property:returnPayFee:edit")
|
||||
@Log(title = "费用-抄类型", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class CostReturnPayFeeController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:returnPayFee:remove")
|
||||
@SaCheckPermission("property:returnPayFee:remove")
|
||||
@Log(title = "费用-抄类型", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class CustomerFeedbacksController extends BaseController {
|
||||
/**
|
||||
* 查询客户服务-意见反馈列表
|
||||
*/
|
||||
@SaCheckPermission("system:feedbacks:list")
|
||||
// @SaCheckPermission("system:feedbacks:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CustomerFeedbacksVo> list(CustomerFeedbacksBo bo, PageQuery pageQuery) {
|
||||
return customerFeedbacksService.queryPageList(bo, pageQuery);
|
||||
@@ -62,7 +62,9 @@ public class CustomerFeedbacksController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:feedbacks:query")
|
||||
//
|
||||
//
|
||||
// @SaCheckPermission("system:feedbacks:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CustomerFeedbacksVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
|
@@ -33,4 +33,15 @@ public class EnumFetcherController {
|
||||
List<Map<Object, Object>> map = enumFetcherService.getEnumValues(name);
|
||||
return R.ok(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据工单类型或部门下的排班人员
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/enum-getShiftScheduler/{type}")
|
||||
public R<List<Map<Object, Object>>> getShiftScheduler(@PathVariable("type") String type) {
|
||||
List<Map<Object, Object>> map = enumFetcherService.getShiftScheduler(type);
|
||||
return R.ok(map);
|
||||
}
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ public class InspectionItemController extends BaseController {
|
||||
/**
|
||||
* 查询巡检项目列表
|
||||
*/
|
||||
@SaCheckPermission("system:item:list")
|
||||
@SaCheckPermission("property:inspectionItem:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<InspectionItemVo> list(InspectionItemBo bo, PageQuery pageQuery) {
|
||||
return inspectionItemService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class InspectionItemController extends BaseController {
|
||||
/**
|
||||
* 导出巡检项目列表
|
||||
*/
|
||||
@SaCheckPermission("system:item:export")
|
||||
@SaCheckPermission("property:inspectionItem:export")
|
||||
@Log(title = "巡检项目", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(InspectionItemBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class InspectionItemController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:item:query")
|
||||
@SaCheckPermission("property:inspectionItem:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<InspectionItemVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class InspectionItemController extends BaseController {
|
||||
/**
|
||||
* 新增巡检项目
|
||||
*/
|
||||
@SaCheckPermission("system:item:add")
|
||||
@SaCheckPermission("property:inspectionItem:add")
|
||||
@Log(title = "巡检项目", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class InspectionItemController extends BaseController {
|
||||
/**
|
||||
* 修改巡检项目
|
||||
*/
|
||||
@SaCheckPermission("system:item:edit")
|
||||
@SaCheckPermission("property:inspectionItem:edit")
|
||||
@Log(title = "巡检项目", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class InspectionItemController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:item:remove")
|
||||
@SaCheckPermission("property:inspectionItem:remove")
|
||||
@Log(title = "巡检项目", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class InspectionPointController extends BaseController {
|
||||
/**
|
||||
* 查询巡检点列表
|
||||
*/
|
||||
@SaCheckPermission("system:point:list")
|
||||
@SaCheckPermission("property:inspectionPoint:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<InspectionPointVo> list(InspectionPointBo bo, PageQuery pageQuery) {
|
||||
return inspectionPointService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class InspectionPointController extends BaseController {
|
||||
/**
|
||||
* 导出巡检点列表
|
||||
*/
|
||||
@SaCheckPermission("system:point:export")
|
||||
@SaCheckPermission("property:inspectionPoint:export")
|
||||
@Log(title = "巡检点", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(InspectionPointBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class InspectionPointController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:point:query")
|
||||
@SaCheckPermission("property:inspectionPoint:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<InspectionPointVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class InspectionPointController extends BaseController {
|
||||
/**
|
||||
* 新增巡检点
|
||||
*/
|
||||
@SaCheckPermission("system:point:add")
|
||||
@SaCheckPermission("property:inspectionPoint:add")
|
||||
@Log(title = "巡检点", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class InspectionPointController extends BaseController {
|
||||
/**
|
||||
* 修改巡检点
|
||||
*/
|
||||
@SaCheckPermission("system:point:edit")
|
||||
@SaCheckPermission("property:inspectionPoint:edit")
|
||||
@Log(title = "巡检点", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class InspectionPointController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:point:remove")
|
||||
@SaCheckPermission("property:inspectionPoint:remove")
|
||||
@Log(title = "巡检点", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class InspectionRouteController extends BaseController {
|
||||
/**
|
||||
* 查询巡检路线列表
|
||||
*/
|
||||
//@SaCheckPermission("system:route:list")
|
||||
@SaCheckPermission("property:inspectionRoute:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<InspectionRouteVo> list(InspectionRouteBo bo, PageQuery pageQuery) {
|
||||
return inspectionRouteService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class InspectionRouteController extends BaseController {
|
||||
/**
|
||||
* 导出巡检路线列表
|
||||
*/
|
||||
@SaCheckPermission("system:route:export")
|
||||
@SaCheckPermission("property:inspectionRoute:export")
|
||||
@Log(title = "巡检路线", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(InspectionRouteBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class InspectionRouteController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:route:query")
|
||||
@SaCheckPermission("property:inspectionRoute:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<InspectionRouteVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class InspectionRouteController extends BaseController {
|
||||
/**
|
||||
* 新增巡检路线
|
||||
*/
|
||||
@SaCheckPermission("system:route:add")
|
||||
@SaCheckPermission("property:inspectionRoute:add")
|
||||
@Log(title = "巡检路线", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class InspectionRouteController extends BaseController {
|
||||
/**
|
||||
* 修改巡检路线
|
||||
*/
|
||||
@SaCheckPermission("system:route:edit")
|
||||
@SaCheckPermission("property:inspectionRoute:edit")
|
||||
@Log(title = "巡检路线", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class InspectionRouteController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:route:remove")
|
||||
@SaCheckPermission("property:inspectionRoute:remove")
|
||||
@Log(title = "巡检路线", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class MachineMaintainPlanController extends BaseController {
|
||||
/**
|
||||
* 查询设备保养计划列表
|
||||
*/
|
||||
@SaCheckPermission("system:maintainPlan:list")
|
||||
@SaCheckPermission("property:maintainPlan:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<MachineMaintainPlanVo> list(MachineMaintainPlanBo bo, PageQuery pageQuery) {
|
||||
return machineMaintainPlanService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class MachineMaintainPlanController extends BaseController {
|
||||
/**
|
||||
* 导出设备保养计划列表
|
||||
*/
|
||||
@SaCheckPermission("system:maintainPlan:export")
|
||||
@SaCheckPermission("property:maintainPlan:export")
|
||||
@Log(title = "设备保养计划", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(MachineMaintainPlanBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class MachineMaintainPlanController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
//@SaCheckPermission("system:maintainPlan:query")
|
||||
@SaCheckPermission("property:maintainPlan:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<MachineMaintainPlanVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class MachineMaintainPlanController extends BaseController {
|
||||
/**
|
||||
* 新增设备保养计划
|
||||
*/
|
||||
@SaCheckPermission("system:maintainPlan:add")
|
||||
@SaCheckPermission("property:maintainPlan:add")
|
||||
@Log(title = "设备保养计划", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class MachineMaintainPlanController extends BaseController {
|
||||
/**
|
||||
* 修改设备保养计划
|
||||
*/
|
||||
@SaCheckPermission("system:maintainPlan:edit")
|
||||
@SaCheckPermission("property:maintainPlan:edit")
|
||||
@Log(title = "设备保养计划", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class MachineMaintainPlanController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:maintainPlan:remove")
|
||||
@SaCheckPermission("property:maintainPlan:remove")
|
||||
@Log(title = "设备保养计划", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 设备保养任务明细
|
||||
* 前端访问路由地址为:/domain/maintainTaskDetail
|
||||
* 前端访问路由地址为:/property/maintainTaskDetail
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-16
|
||||
@@ -40,7 +40,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 查询设备保养任务明细列表
|
||||
*/
|
||||
@SaCheckPermission("domain:maintainTaskDetail:list")
|
||||
@SaCheckPermission("property:maintainTaskDetail:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<MachineMaintainTaskDetailVo> list(MachineMaintainTaskDetailBo bo, PageQuery pageQuery) {
|
||||
return machineMaintainTaskDetailService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 导出设备保养任务明细列表
|
||||
*/
|
||||
@SaCheckPermission("domain:maintainTaskDetail:export")
|
||||
@SaCheckPermission("property:maintainTaskDetail:export")
|
||||
@Log(title = "设备保养任务明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(MachineMaintainTaskDetailBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("domain:maintainTaskDetail:query")
|
||||
@SaCheckPermission("property:maintainTaskDetail:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<MachineMaintainTaskDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 新增设备保养任务明细
|
||||
*/
|
||||
@SaCheckPermission("domain:maintainTaskDetail:add")
|
||||
@SaCheckPermission("property:maintainTaskDetail:add")
|
||||
@Log(title = "设备保养任务明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
|
||||
/**
|
||||
* 修改设备保养任务明细
|
||||
*/
|
||||
@SaCheckPermission("domain:maintainTaskDetail:edit")
|
||||
@SaCheckPermission("property:maintainTaskDetail:edit")
|
||||
@Log(title = "设备保养任务明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class MachineMaintainTaskDetailController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("domain:maintainTaskDetail:remove")
|
||||
@SaCheckPermission("property:maintainTaskDetail:remove")
|
||||
@Log(title = "设备保养任务明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -40,7 +40,7 @@ public class MeetAttachController extends BaseController {
|
||||
/**
|
||||
* 查询分页会议室增值服务列表
|
||||
*/
|
||||
// @SaCheckPermission("property:attach:list")
|
||||
@SaCheckPermission("property:conferenceAddServices:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<MeetAttachVo> pageList(MeetAttachBo bo, PageQuery pageQuery) {
|
||||
return meetAttachService.queryPageList(bo, pageQuery);
|
||||
@@ -57,7 +57,7 @@ public class MeetAttachController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
//@SaCheckPermission("property:attach:query")
|
||||
@SaCheckPermission("property:conferenceAddServices:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<MeetAttachVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -67,7 +67,7 @@ public class MeetAttachController extends BaseController {
|
||||
/**
|
||||
* 新增会议室增值服务
|
||||
*/
|
||||
@SaCheckPermission("property:attach:add")
|
||||
@SaCheckPermission("property:conferenceAddServices:add")
|
||||
@Log(title = "会议室增值服务", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -78,7 +78,7 @@ public class MeetAttachController extends BaseController {
|
||||
/**
|
||||
* 修改会议室增值服务
|
||||
*/
|
||||
// @SaCheckPermission("property:attach:edit")
|
||||
@SaCheckPermission("property:conferenceAddServices:edit")
|
||||
@Log(title = "会议室增值服务", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -91,7 +91,7 @@ public class MeetAttachController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
// @SaCheckPermission("property:attach:remove")
|
||||
@SaCheckPermission("property:conferenceAddServices:remove")
|
||||
@Log(title = "会议室增值服务", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.property.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
@@ -40,7 +41,7 @@ public class MeetBookingController extends BaseController {
|
||||
/**
|
||||
* 查询会议预约记录列表
|
||||
*/
|
||||
//@SaCheckPermission("property:meetbooking:list")
|
||||
@SaCheckPermission("property:meetbooking:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<MeetBookingVo> list(MeetBookingBo bo, PageQuery pageQuery) {
|
||||
return meetBookingService.queryPageList(bo, pageQuery);
|
||||
@@ -64,7 +65,7 @@ public class MeetBookingController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
//@SaCheckPermission("property:meetbooking:query")
|
||||
@SaCheckPermission("property:meetbooking:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<MeetBookingDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -74,7 +75,7 @@ public class MeetBookingController extends BaseController {
|
||||
/**
|
||||
* 新增会议预约
|
||||
*/
|
||||
//@SaCheckPermission("property:meetbooking:add")
|
||||
@SaCheckPermission("property:meetbooking:add")
|
||||
@Log(title = "会议预约", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -85,7 +86,7 @@ public class MeetBookingController extends BaseController {
|
||||
/**
|
||||
* 修改会议预约
|
||||
*/
|
||||
// @SaCheckPermission("property:meetbooking:edit")
|
||||
@SaCheckPermission("property:meetbooking:edit")
|
||||
@Log(title = "会议预约", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
|
@@ -43,7 +43,7 @@ public class MeetController extends BaseController {
|
||||
/**
|
||||
* 查询会议室管理列表
|
||||
*/
|
||||
// @SaCheckPermission("property:meet:list")
|
||||
@SaCheckPermission("property:meet:list")
|
||||
@Operation
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<MeetVo> list(MeetBo bo, PageQuery pageQuery) {
|
||||
@@ -66,7 +66,7 @@ public class MeetController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
//@SaCheckPermission("property:meet:query")
|
||||
@SaCheckPermission("property:meet:query")
|
||||
@Operation
|
||||
@GetMapping("/{id}")
|
||||
public R<MeetVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable("id") Long id) {
|
||||
|
@@ -26,7 +26,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* 【业务管理-工单处理】
|
||||
* 前端访问路由地址为:/system/workOrders
|
||||
* 前端访问路由地址为:/property/workOrders
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-07
|
||||
@@ -42,7 +42,7 @@ public class ServiceWorkOrdersController extends BaseController {
|
||||
/**
|
||||
* 查询【工单处理】列表
|
||||
*/
|
||||
//@SaCheckPermission("system:workOrders:list")
|
||||
@SaCheckPermission("property:workOrders:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ServiceWorkOrdersVo> list(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
|
||||
return serviceWorkOrdersService.queryPageList(bo, pageQuery);
|
||||
@@ -51,7 +51,7 @@ public class ServiceWorkOrdersController extends BaseController {
|
||||
/**
|
||||
* 导出【工单处理】列表
|
||||
*/
|
||||
// @SaCheckPermission("system:workOrders:export")
|
||||
@SaCheckPermission("property:workOrders:export")
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ServiceWorkOrdersBo bo, HttpServletResponse response) {
|
||||
@@ -64,7 +64,7 @@ public class ServiceWorkOrdersController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
// @SaCheckPermission("system:workOrders:query")
|
||||
@SaCheckPermission("property:workOrders:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<ServiceWorkOrdersInfoVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -74,7 +74,7 @@ public class ServiceWorkOrdersController extends BaseController {
|
||||
/**
|
||||
* 新增【工单处理】
|
||||
*/
|
||||
// @SaCheckPermission("system:workOrders:add")
|
||||
@SaCheckPermission("property:workOrders:add")
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -85,20 +85,40 @@ public class ServiceWorkOrdersController extends BaseController {
|
||||
/**
|
||||
* 修改【工单处理】
|
||||
*/
|
||||
//@SaCheckPermission("system:workOrders:edit")
|
||||
@SaCheckPermission("property:workOrders:edit")
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.updateByBo(bo));
|
||||
}
|
||||
/**
|
||||
* 派单【工单处理】
|
||||
*/
|
||||
@SaCheckPermission("property:workOrders:dispatch")
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/dispatch")
|
||||
public R<Void> dispatch(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 抢单【工单处理】
|
||||
*/
|
||||
@SaCheckPermission("property:workOrders:grab")
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("grab")
|
||||
public R<Void> grab(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.updateByBo(bo));
|
||||
}
|
||||
/**
|
||||
* 删除【工单处理】
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
// @SaCheckPermission("system:workOrders:remove")
|
||||
@SaCheckPermission("property:workOrders:remove")
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -24,7 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 【工单类型】
|
||||
* 前端访问路由地址为:/system/workOrdersType
|
||||
* 前端访问路由地址为:/property/workOrdersType
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-09
|
||||
@@ -40,7 +40,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
/**
|
||||
* 查询【工单类型】列表
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:list")
|
||||
@SaCheckPermission("property:workOrdersType:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ServiceWorkOrdersTypeVo> list(ServiceWorkOrdersTypeBo bo, PageQuery pageQuery) {
|
||||
return serviceWorkOrdersTypeService.queryPageList(bo, pageQuery);
|
||||
@@ -49,7 +49,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
/**
|
||||
* 导出【工单类型】列表
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:export")
|
||||
@SaCheckPermission("property:workOrdersType:export")
|
||||
@Log(title = "【导出工单类型】", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ServiceWorkOrdersTypeBo bo, HttpServletResponse response) {
|
||||
@@ -62,7 +62,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:query")
|
||||
@SaCheckPermission("property:workOrdersType:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<ServiceWorkOrdersTypeVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
@@ -72,7 +72,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
/**
|
||||
* 新增【工单类型】
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:add")
|
||||
@SaCheckPermission("property:workOrdersType:add")
|
||||
@Log(title = "【新增工单类型】", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
@@ -83,7 +83,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
/**
|
||||
* 修改【工单类型】
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:edit")
|
||||
@SaCheckPermission("property:workOrdersType:edit")
|
||||
@Log(title = "【工单类型】", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
@@ -96,7 +96,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:workOrdersType:remove")
|
||||
@SaCheckPermission("property:workOrdersType:remove")
|
||||
@Log(title = "【工单类型】", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
|
@@ -145,17 +145,37 @@ public class TbVisitorManagementController extends BaseController {
|
||||
if (info==null){
|
||||
return R.fail("请确认Qr码有效");
|
||||
}
|
||||
bo.setType(0);
|
||||
return toAjax(tbVisitorManagementService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* h5端新增访客管理
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("property:visitorManagement:addH5VistorManagement")
|
||||
@Log(title = "访客管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/addH5VistorManagement")
|
||||
public R<Void> addH5VistorManagement(@Validated(AddGroup.class) @RequestBody TbVisitorManagementBo bo) {
|
||||
QrCodeInfo info = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY +"Qrcode" + bo.getQrCodeId());
|
||||
if (info==null){
|
||||
return R.fail("请确认Qr码有效");
|
||||
}
|
||||
bo.setType(0);
|
||||
return toAjax(tbVisitorManagementService.insertH5ByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* pc端新增访客管理
|
||||
*/
|
||||
@SaCheckPermission("property:visitorManagement::addVisitorManagement")
|
||||
@SaCheckPermission("property:visitorManagement:addVisitorManagement")
|
||||
@Log(title = "访客管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping
|
||||
public R<Void> addVistorManagement(@Validated(AddGroup.class) @RequestBody TbVisitorManagementBo bo) {
|
||||
bo.setType(1);
|
||||
return toAjax(tbVisitorManagementService.insertVistorManagementByBo(bo));
|
||||
}
|
||||
|
||||
|
@@ -40,7 +40,7 @@ public class CleanOrderController extends BaseController {
|
||||
/**
|
||||
* 查询保洁订单列表
|
||||
*/
|
||||
@SaCheckPermission("property:clean_order:list")
|
||||
//@SaCheckPermission("property:clean_order:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CleanOrderVo> list(CleanOrderBo bo, PageQuery pageQuery) {
|
||||
return cleanOrderService.queryPageList(bo, pageQuery);
|
||||
|
@@ -3,6 +3,7 @@ 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.core.validate.EditGroup;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
@@ -12,6 +13,7 @@ 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.ServiceWorkOrdersVo;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
|
||||
import org.dromara.property.service.IServiceWorkOrdersService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -34,7 +36,6 @@ public class MServiceWorkOrdersController extends BaseController {
|
||||
* 小程序新增【工单处理】
|
||||
*/
|
||||
@Log(title = "【小程序新增工单处理】", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody MServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.insertMServiceWorkOrdersBo(bo));
|
||||
@@ -43,7 +44,16 @@ public class MServiceWorkOrdersController extends BaseController {
|
||||
* 小程序查询【工单处理】
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ServiceWorkOrdersVo> list(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
|
||||
return serviceWorkOrdersService.queryPageList(bo, pageQuery);
|
||||
public TableDataInfo<MServiceWorkOrdersVo> list(ServiceWorkOrdersBo bo, PageQuery pageQuery) {
|
||||
return serviceWorkOrdersService.queryMobilePageList(bo, pageQuery);
|
||||
}
|
||||
/**
|
||||
* 修改【工单处理】
|
||||
*/
|
||||
@Log(title = "【工单处理】", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ServiceWorkOrdersBo bo) {
|
||||
return toAjax(serviceWorkOrdersService.updateByBo(bo));
|
||||
}
|
||||
}
|
||||
|
@@ -30,7 +30,7 @@ public class CustomerFeedbacks extends TenantEntity {
|
||||
/**
|
||||
* 反馈类型(0保修1保洁2会议)
|
||||
*/
|
||||
private String feedbackType;
|
||||
private Long feedbackType;
|
||||
|
||||
/**
|
||||
* 反馈人
|
||||
@@ -58,7 +58,7 @@ public class CustomerFeedbacks extends TenantEntity {
|
||||
private String feedbackImg;
|
||||
|
||||
/**
|
||||
* 是否转至工单
|
||||
* 工单id
|
||||
*/
|
||||
private Long orderId;
|
||||
/**
|
||||
|
@@ -94,9 +94,18 @@ public class Meet extends TenantEntity {
|
||||
private String appointmentTime;
|
||||
|
||||
/**
|
||||
* 开放时段
|
||||
* 图片
|
||||
*/
|
||||
private String openHours;
|
||||
private String picture;
|
||||
|
||||
/**
|
||||
* 开放开始时段
|
||||
*/
|
||||
private String openStartHours;
|
||||
/**
|
||||
* 开放结束时段
|
||||
*/
|
||||
private String openEndHours;
|
||||
|
||||
/**
|
||||
* 状态(0启用,1禁用)
|
||||
|
@@ -47,7 +47,7 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成,5已评价)
|
||||
*/
|
||||
private String status;
|
||||
|
||||
@@ -104,7 +104,7 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 上报类型
|
||||
* 上报类型(1电话上报2现场上报,3系统上报)
|
||||
*/
|
||||
private String reportingType;
|
||||
/**
|
||||
|
@@ -38,7 +38,7 @@ public class ServiceWorkOrdersType extends TenantEntity {
|
||||
private String orderTypeName;
|
||||
|
||||
/**
|
||||
* 运作模式
|
||||
* 运作模式(0派单+抢单,1派单,2自动派单)
|
||||
*/
|
||||
private String operationMode;
|
||||
|
||||
@@ -56,7 +56,10 @@ public class ServiceWorkOrdersType extends TenantEntity {
|
||||
* 是否支持转单(0支持,1不支持)
|
||||
*/
|
||||
private Integer isTransfers;
|
||||
|
||||
/**
|
||||
* 权重(1一般2紧急3危急)
|
||||
*/
|
||||
private String processingWeight;
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
|
@@ -50,6 +50,11 @@ public class CostCarChargeBo extends BaseEntity {
|
||||
* 车位
|
||||
*/
|
||||
private String location;
|
||||
/**
|
||||
* 车位名称
|
||||
*/
|
||||
private String locationName;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
|
@@ -29,8 +29,8 @@ public class CustomerFeedbacksBo extends BaseEntity {
|
||||
/**
|
||||
* 反馈类型(0保修1保洁2会议)
|
||||
*/
|
||||
@NotBlank(message = "反馈类型(0保修1保洁2会议)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String feedbackType;
|
||||
@NotNull (message = "反馈类型(0保修1保洁2会议)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long feedbackType;
|
||||
|
||||
/**
|
||||
* 反馈人
|
||||
|
@@ -101,9 +101,13 @@ public class MeetBo extends BaseEntity {
|
||||
private String appointmentTime;
|
||||
|
||||
/**
|
||||
* 开放时段
|
||||
* 开放开始时段
|
||||
*/
|
||||
private String openHours;
|
||||
private String openStartHours;
|
||||
/**
|
||||
* 开放结束时段
|
||||
*/
|
||||
private String openEndHours;
|
||||
|
||||
/**
|
||||
* 状态(0启用,1禁用)
|
||||
|
@@ -67,7 +67,7 @@ public class MeetBookingBo extends BaseEntity {
|
||||
* 参会人数
|
||||
*/
|
||||
@NotNull(message = "参会人数不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private int personSum;
|
||||
private Integer personSum;
|
||||
|
||||
/**
|
||||
* 费用
|
||||
@@ -78,17 +78,17 @@ public class MeetBookingBo extends BaseEntity {
|
||||
/**
|
||||
* 是否包含增值服务
|
||||
*/
|
||||
private int attach;
|
||||
private Integer attach;
|
||||
|
||||
/**
|
||||
* 支付状态
|
||||
*/
|
||||
private int payState;
|
||||
private Integer payState;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private int state;
|
||||
private Integer state;
|
||||
|
||||
|
||||
/**
|
||||
|
@@ -27,7 +27,7 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotBlank(message = "id不能为空", groups = { EditGroup.class })
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -107,10 +107,6 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
* 图片
|
||||
*/
|
||||
private String imgUrl;
|
||||
/**
|
||||
* 工单图片
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@@ -54,7 +54,10 @@ public class ServiceWorkOrdersTypeBo extends BaseEntity {
|
||||
*/
|
||||
@NotNull(message = "完成时效不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer completionNumber;
|
||||
|
||||
/**
|
||||
* 权重(1一般2紧急3危急)
|
||||
*/
|
||||
private String processingWeight;
|
||||
/**
|
||||
* 是否支持转单(0支持,1不支持)
|
||||
*/
|
||||
|
@@ -3,6 +3,7 @@ package org.dromara.property.domain.bo.mobile;
|
||||
|
||||
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;
|
||||
@@ -28,7 +29,11 @@ public class MServiceWorkOrdersBo extends BaseEntity {
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单名称
|
||||
*/
|
||||
@NotBlank(message = "工单名称不能为空", groups = { EditGroup.class })
|
||||
private String orderName;
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@@ -100,6 +105,10 @@ public class MServiceWorkOrdersBo extends BaseEntity {
|
||||
* 工单图片
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 问题描述
|
||||
*/
|
||||
private String issueDesc;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.bo.smartDevicesBo;
|
||||
|
||||
import org.dromara.property.domain.TbLightInfo;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbLightInfo;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
@@ -47,7 +47,7 @@ public class TbLightInfoBo extends BaseEntity {
|
||||
/**
|
||||
* 楼层ID
|
||||
*/
|
||||
@NotNull(message = "层ID不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotNull(message = "楼层ID不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long floorId;
|
||||
|
||||
/**
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.bo.smartDevicesBo;
|
||||
|
||||
import org.dromara.property.domain.TbMeterConfig;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterConfig;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.bo.smartDevicesBo;
|
||||
|
||||
import org.dromara.property.domain.TbMeterInfo;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterInfo;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
@@ -9,6 +9,8 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 水电气业务对象 tb_meter_info
|
||||
*
|
||||
@@ -23,7 +25,7 @@ public class TbMeterInfoBo extends BaseEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -44,15 +46,42 @@ public class TbMeterInfoBo extends BaseEntity {
|
||||
/**
|
||||
* 设备类型(1-电表,2-水表,3-气表)
|
||||
*/
|
||||
@NotNull(message = "设备类型(1-电表,2-水表,3-气表)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "设备类型(1-电表,2-水表,3-气表)不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long meterType;
|
||||
|
||||
/**
|
||||
* 计量单位(1-度,2-吨,3-立方米)
|
||||
*/
|
||||
@NotNull(message = "计量单位(1-度,2-吨,3-立方米)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "计量单位(1-度,2-吨,3-立方米)不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long meterUnit;
|
||||
|
||||
/**
|
||||
* 采集器IP
|
||||
*/
|
||||
@NotNull(message = "采集器IP不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String hostIp;
|
||||
|
||||
/**
|
||||
* 楼层ID
|
||||
*/
|
||||
@NotNull(message = "楼层ID不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long floorId;
|
||||
|
||||
/**
|
||||
* 园区编码
|
||||
*/
|
||||
private Long communityId;
|
||||
|
||||
/**
|
||||
* 建筑名称
|
||||
*/
|
||||
private Long buildingId;
|
||||
|
||||
/**
|
||||
* 单元编码
|
||||
*/
|
||||
private Long unitId;
|
||||
|
||||
/**
|
||||
* 安装位置
|
||||
*/
|
||||
@@ -61,12 +90,12 @@ public class TbMeterInfoBo extends BaseEntity {
|
||||
/**
|
||||
* 初始读数
|
||||
*/
|
||||
private Long initReading;
|
||||
private BigDecimal initReading;
|
||||
|
||||
/**
|
||||
* 最大量程
|
||||
*/
|
||||
private Long maxRang;
|
||||
private BigDecimal maxRang;
|
||||
|
||||
/**
|
||||
* 通信状态
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.bo.smartDevicesBo;
|
||||
|
||||
import org.dromara.property.domain.TbMeterRecord;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterRecord;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
@@ -8,13 +8,15 @@ import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 抄记录业务对象 tb_meter_record
|
||||
*
|
||||
* @author lsm
|
||||
* @date 2025-07-19
|
||||
* @since 2025-07-19
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -33,6 +35,12 @@ public class TbMeterRecordBo extends BaseEntity {
|
||||
@NotBlank(message = "仪表编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String meterId;
|
||||
|
||||
/**
|
||||
* 设备类型(1-电表,2-水表,3-气表)
|
||||
*/
|
||||
@NotNull(message = "仪表类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long meterType;
|
||||
|
||||
/**
|
||||
* 抄表员ID
|
||||
*/
|
||||
@@ -49,18 +57,13 @@ public class TbMeterRecordBo extends BaseEntity {
|
||||
* 当前读数
|
||||
*/
|
||||
@NotNull(message = "当前读数不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long currentReading;
|
||||
private BigDecimal currentReading;
|
||||
|
||||
/**
|
||||
* 上次读数
|
||||
*/
|
||||
@NotNull(message = "上次读数不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long previousReading;
|
||||
|
||||
/**
|
||||
* 用量
|
||||
*/
|
||||
private Long consumption;
|
||||
private BigDecimal previousReading;
|
||||
|
||||
/**
|
||||
* 抄表方式(1手动 2自动 3用户上报)
|
||||
@@ -71,7 +74,7 @@ public class TbMeterRecordBo extends BaseEntity {
|
||||
/**
|
||||
* 抄表照片
|
||||
*/
|
||||
private Long imgOssid;
|
||||
private Long imgOssId;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.bo.smartDevicesBo;
|
||||
|
||||
import org.dromara.property.domain.TbMeterRoom;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterRoom;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.dromara.property.domain;
|
||||
package org.dromara.property.domain.entity.smartDevices;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
@@ -1,4 +1,4 @@
|
||||
package org.dromara.property.domain;
|
||||
package org.dromara.property.domain.entity.smartDevices;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
@@ -1,4 +1,4 @@
|
||||
package org.dromara.property.domain;
|
||||
package org.dromara.property.domain.entity.smartDevices;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
@@ -6,6 +6,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 水电气对象 tb_meter_info
|
||||
@@ -60,12 +61,12 @@ public class TbMeterInfo extends TenantEntity {
|
||||
/**
|
||||
* 初始读数
|
||||
*/
|
||||
private Long initReading;
|
||||
private BigDecimal initReading;
|
||||
|
||||
/**
|
||||
* 最大量程
|
||||
*/
|
||||
private Long maxRang;
|
||||
private BigDecimal maxRang;
|
||||
|
||||
/**
|
||||
* 通信状态
|
||||
@@ -82,5 +83,30 @@ public class TbMeterInfo extends TenantEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 园区编码
|
||||
*/
|
||||
private Long communityId;
|
||||
|
||||
/**
|
||||
* 建筑名称
|
||||
*/
|
||||
private Long buildingId;
|
||||
|
||||
/**
|
||||
* 单元编码
|
||||
*/
|
||||
private Long unitId;
|
||||
|
||||
/**
|
||||
* 所属楼层ID
|
||||
*/
|
||||
private Long floorId;
|
||||
|
||||
/**
|
||||
* 采集器IP
|
||||
*/
|
||||
private String hostIp;
|
||||
|
||||
|
||||
}
|
@@ -1,11 +1,12 @@
|
||||
package org.dromara.property.domain;
|
||||
package org.dromara.property.domain.entity.smartDevices;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@@ -13,7 +14,7 @@ import java.io.Serial;
|
||||
* 抄记录对象 tb_meter_record
|
||||
*
|
||||
* @author lsm
|
||||
* @date 2025-07-19
|
||||
* @since 2025-07-19
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -34,6 +35,11 @@ public class TbMeterRecord extends TenantEntity {
|
||||
*/
|
||||
private String meterId;
|
||||
|
||||
/**
|
||||
* 设备类型(1-电表,2-水表,3-气表)
|
||||
*/
|
||||
private Long meterType;
|
||||
|
||||
/**
|
||||
* 抄表员ID
|
||||
*/
|
||||
@@ -47,17 +53,17 @@ public class TbMeterRecord extends TenantEntity {
|
||||
/**
|
||||
* 当前读数
|
||||
*/
|
||||
private Long currentReading;
|
||||
private BigDecimal currentReading;
|
||||
|
||||
/**
|
||||
* 上次读数
|
||||
*/
|
||||
private Long previousReading;
|
||||
private BigDecimal previousReading;
|
||||
|
||||
/**
|
||||
* 用量
|
||||
*/
|
||||
private Long consumption;
|
||||
private BigDecimal consumption;
|
||||
|
||||
/**
|
||||
* 抄表方式(1手动 2自动 3用户上报)
|
||||
@@ -67,7 +73,7 @@ public class TbMeterRecord extends TenantEntity {
|
||||
/**
|
||||
* 抄表照片
|
||||
*/
|
||||
private Long imgOssid;
|
||||
private Long imgOssId;
|
||||
|
||||
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package org.dromara.property.domain;
|
||||
package org.dromara.property.domain.entity.smartDevices;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
@@ -0,0 +1,30 @@
|
||||
package org.dromara.property.domain.enums;
|
||||
|
||||
/**
|
||||
* 收费类型枚举
|
||||
*/
|
||||
public enum ChargeTypeEnum {
|
||||
/**
|
||||
* 房屋收费
|
||||
*/
|
||||
HOUS_CHARGES("房屋收费", "1"),
|
||||
/**
|
||||
* 车辆收费
|
||||
*/
|
||||
CARD_CHARGES("车辆收费", "2");
|
||||
private final String name;
|
||||
private final String value;
|
||||
|
||||
ChargeTypeEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
@@ -0,0 +1,28 @@
|
||||
package org.dromara.property.domain.enums;
|
||||
|
||||
/**
|
||||
* 工单上报类型
|
||||
*/
|
||||
public enum OrderReportingTypeEnum {
|
||||
TELEPHONE_REPORT("电话上报", "1"),
|
||||
SCENE_REPORT("现场上报", "2"),
|
||||
SYSTEM_REPORT("系统上报", "3"),
|
||||
PHONE_REPORT("手机上报", "4");
|
||||
|
||||
|
||||
private final String name;
|
||||
private final String value;
|
||||
|
||||
OrderReportingTypeEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
@@ -0,0 +1,28 @@
|
||||
package org.dromara.property.domain.enums;
|
||||
/**
|
||||
* @Author:yuyongle
|
||||
* @Date:2025/7/4 10:35
|
||||
* @Description:工单类型运作模式
|
||||
**/
|
||||
public enum OrderTypeOperationEnum {
|
||||
DISPATCH_ORDERS_AND_GRAB_ORDERS("派单+抢单", "0"),
|
||||
DISPATCH("派单", "1"),
|
||||
AUTOMATE_DISPATCH("自动派单", "2");
|
||||
|
||||
|
||||
private final String name;
|
||||
private final String value;
|
||||
|
||||
OrderTypeOperationEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
@@ -48,6 +48,11 @@ public class CostCarChargeVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "业主")
|
||||
private Long personId;
|
||||
/**
|
||||
* 业主姓名
|
||||
*/
|
||||
@ExcelProperty(value = "业主姓名")
|
||||
private String personName;
|
||||
|
||||
/**
|
||||
* 楼层
|
||||
|
@@ -35,6 +35,10 @@ public class CostHouseChargeDetailVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "房屋")
|
||||
private Long roomId;
|
||||
/**
|
||||
* 房屋名称
|
||||
*/
|
||||
private String roomName;
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
|
@@ -42,10 +42,19 @@ public class CostHouseChargeVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "房屋")
|
||||
private Long roomId;
|
||||
|
||||
/**
|
||||
* 房屋名称
|
||||
*/
|
||||
private String roomName;
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
private Long personId;
|
||||
/**
|
||||
* 业主
|
||||
*/
|
||||
private String personName;
|
||||
/**
|
||||
* 收费项目
|
||||
*/
|
||||
|
@@ -45,6 +45,10 @@ public class CostMeterWaterVo implements Serializable {
|
||||
* 费用类型
|
||||
*/
|
||||
private String costType;
|
||||
/**
|
||||
* 费用名称
|
||||
*/
|
||||
private String costTypeName;
|
||||
/**
|
||||
* 房间id
|
||||
*/
|
||||
|
@@ -53,8 +53,12 @@ public class CostPayFeeAuditVo implements Serializable {
|
||||
/**
|
||||
* 房间号(如101,202)
|
||||
*/
|
||||
@ExcelProperty(value = "房间号(如101,202)")
|
||||
@ExcelProperty(value = "房间号")
|
||||
private String roomNumber;
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String carNumber;
|
||||
|
||||
/**
|
||||
* 费用项目id
|
||||
|
@@ -33,16 +33,26 @@ public class CustomerFeedbacksVo implements Serializable {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 反馈类型(0保修1保洁2会议)
|
||||
* 反馈类型(工单类型)
|
||||
*/
|
||||
@ExcelProperty(value = "反馈类型(0保修1保洁2会议)")
|
||||
private String feedbackType;
|
||||
@ExcelProperty(value = "反馈类型(工单类型)")
|
||||
private Long feedbackType;
|
||||
/**
|
||||
* 反馈类型名称(工单类型名称)
|
||||
*/
|
||||
@ExcelProperty(value = "反馈类型名称(工单类型名称)")
|
||||
private String feedbackTypeName;
|
||||
|
||||
/**
|
||||
* 反馈人
|
||||
*/
|
||||
@ExcelProperty(value = "反馈人")
|
||||
private Long feedbackPersion;
|
||||
/**
|
||||
* 反馈人名称
|
||||
*/
|
||||
@ExcelProperty(value = "反馈人名称")
|
||||
private String feedbackPersionName;
|
||||
|
||||
/**
|
||||
* 反馈人电话
|
||||
@@ -67,7 +77,10 @@ public class CustomerFeedbacksVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "反馈图片")
|
||||
private String feedbackImg;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
private Long orderId;
|
||||
/**
|
||||
* 是否转至工单
|
||||
*/
|
||||
|
@@ -41,7 +41,7 @@ public class InspectionPointVo implements Serializable {
|
||||
* 巡检项目id
|
||||
*/
|
||||
@ExcelProperty(value = "巡检项目id")
|
||||
private Long itemName;
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 巡检点名称
|
||||
|
@@ -59,9 +59,13 @@ public class MeetVo implements Serializable {
|
||||
@ExcelProperty(value = "位置名称")
|
||||
private String locationName;
|
||||
/**
|
||||
* 开放时段
|
||||
* 开放开始时段
|
||||
*/
|
||||
private String openHours;
|
||||
private String openStartHours;
|
||||
/**
|
||||
* 开放结束时段
|
||||
*/
|
||||
private String openEndHours;
|
||||
|
||||
/**
|
||||
* 容纳人数
|
||||
@@ -119,6 +123,10 @@ public class MeetVo implements Serializable {
|
||||
* 预约时间
|
||||
*/
|
||||
private String appointmentTime;
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
private String picture;
|
||||
|
||||
/**
|
||||
* (1免费2.付费,3面议)
|
||||
|
@@ -57,7 +57,10 @@ public class ServiceWorkOrdersInfoVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "权重")
|
||||
private String processingWeight;
|
||||
|
||||
/**
|
||||
* 运作模式(0派单+抢单,1派单,2自动派单)
|
||||
*/
|
||||
private String operationMode;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
|
@@ -68,7 +68,10 @@ public class ServiceWorkOrdersTypeVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "是否支持转单(0支持,1不支持)")
|
||||
private Integer isTransfers;
|
||||
|
||||
/**
|
||||
* 权重(1一般2紧急3危急)
|
||||
*/
|
||||
private String processingWeight;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
|
@@ -67,7 +67,7 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
@ExcelProperty(value = "状态(0创建工单,1已派单2已抢单3处理中,4已完成,5已评价)")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
@@ -75,7 +75,10 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "派单时间")
|
||||
private Date dispatchTime;
|
||||
|
||||
/**
|
||||
* 运作模式(0派单+抢单,1派单,2自动派单)
|
||||
*/
|
||||
private String operationMode;
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
@@ -143,6 +146,7 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
* 图片
|
||||
*/
|
||||
private String imgUrl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@@ -9,6 +9,7 @@ import org.dromara.sis.api.domain.RemoteSisDeviceManage;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -45,4 +46,6 @@ public class AttendanceAreaDeviceVo implements Serializable {
|
||||
|
||||
|
||||
private RemoteSisDeviceManage remoteSisDeviceManage;
|
||||
|
||||
private List<AttendanceAreaDevice> areaDevice;
|
||||
}
|
||||
|
@@ -38,6 +38,11 @@ public class CleanOrderVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "位置")
|
||||
private Long location;
|
||||
/**
|
||||
* 位置
|
||||
*/
|
||||
@ExcelProperty(value = "位置")
|
||||
private String locationName;
|
||||
|
||||
/**
|
||||
* 面积
|
||||
|
@@ -0,0 +1,61 @@
|
||||
package org.dromara.property.domain.vo.mobile;
|
||||
|
||||
|
||||
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.ServiceWorkOrdersRecord;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author yuyongle
|
||||
* @version 1.0
|
||||
* @description: TODO
|
||||
* @date 2025/8/26 13:53
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = ServiceWorkOrdersRecord.class)
|
||||
public class MServiceWorkOrdersRecordVo implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
@ExcelProperty(value = "工单id")
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成)
|
||||
*/
|
||||
@ExcelProperty(value = "状态(0创建工单,1已派单2已抢单3处理中,4已完成)")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private Long handler;
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private String handlerName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
}
|
@@ -0,0 +1,166 @@
|
||||
package org.dromara.property.domain.vo.mobile;
|
||||
|
||||
|
||||
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.ServiceWorkOrders;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yuyongle
|
||||
* @version 1.0
|
||||
* @description: TODO
|
||||
* @date 2025/8/26 13:52
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = ServiceWorkOrders.class)
|
||||
public class MServiceWorkOrdersVo implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@ExcelProperty(value = "工单编号")
|
||||
private String orderNo;
|
||||
/**
|
||||
* 权重
|
||||
*/
|
||||
@ExcelProperty(value = "权重")
|
||||
private String processingWeight;
|
||||
|
||||
/**
|
||||
* 工单名称
|
||||
*/
|
||||
@ExcelProperty(value = "工单名称")
|
||||
private String orderName;
|
||||
|
||||
/**
|
||||
* 工单类型
|
||||
*/
|
||||
@ExcelProperty(value = "工单类型")
|
||||
private Long type;
|
||||
/**
|
||||
* 上报类型
|
||||
*/
|
||||
private String reportingType;
|
||||
/**
|
||||
* 工单类型名称
|
||||
*/
|
||||
@ExcelProperty(value = "工单类型名称")
|
||||
private String typeName;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态(0创建工单,1已派单2已抢单3处理中,4已完成,5已评价)")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 派单时间
|
||||
*/
|
||||
@ExcelProperty(value = "派单时间")
|
||||
private Date dispatchTime;
|
||||
/**
|
||||
* 运作模式(0派单+抢单,1派单,2自动派单)
|
||||
*/
|
||||
private String operationMode;
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
private String initiatorPeople;
|
||||
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
private long handler;
|
||||
/**
|
||||
* 抄送人
|
||||
*/
|
||||
private long ccPeople;
|
||||
/**
|
||||
* 发起人手机号
|
||||
*/
|
||||
@ExcelProperty(value = "发起人手机号")
|
||||
private String initiatorPhone;
|
||||
/**
|
||||
* 处理人姓名文本
|
||||
*/
|
||||
@ExcelProperty(value = "处理人姓名文本")
|
||||
private String handlerText;
|
||||
|
||||
/**
|
||||
* 处理人姓名文本
|
||||
*/
|
||||
@ExcelProperty(value = "处理人电话")
|
||||
private String handlerPhone;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@ExcelProperty(value = "地址")
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 计划完成时间
|
||||
*/
|
||||
@ExcelProperty(value = "计划完成时间")
|
||||
private Date planCompleTime;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@ExcelProperty(value = "完成时间")
|
||||
private Date compleTime;
|
||||
|
||||
/**
|
||||
* 评价
|
||||
*/
|
||||
@ExcelProperty(value = "评价")
|
||||
private Integer serviceEvalua;
|
||||
|
||||
/**
|
||||
* 是否超时
|
||||
*/
|
||||
@ExcelProperty(value = "是否超时")
|
||||
private String isTimeOut;
|
||||
|
||||
/**
|
||||
* 评价文本
|
||||
*/
|
||||
private String serviceEvaluaText;
|
||||
/**
|
||||
* 工单图片
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
private String imgUrl;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
/**
|
||||
* 工单记录
|
||||
*/
|
||||
List<MServiceWorkOrdersRecordVo> recordVoList;
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.vo.smartDevicesVo;
|
||||
|
||||
import org.dromara.property.domain.TbLightInfo;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbLightInfo;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
@@ -10,8 +10,6 @@ import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.vo.smartDevicesVo;
|
||||
|
||||
import org.dromara.property.domain.TbMeterConfig;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterConfig;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
|
@@ -2,7 +2,7 @@ package org.dromara.property.domain.vo.smartDevicesVo;
|
||||
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import org.dromara.property.domain.TbMeterInfo;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterInfo;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
@@ -10,7 +10,7 @@ import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
/**
|
||||
@@ -54,7 +54,7 @@ public class TbMeterInfoVo implements Serializable {
|
||||
/**
|
||||
* 设备类型(1-电表,2-水表,3-气表)
|
||||
*/
|
||||
@ExcelProperty(value = "设备类型(1-电表,2-水表,3-气表)" ,converter = ExcelDictConvert.class)
|
||||
@ExcelProperty(value = "设备类型(1-电表,2-水表,3-气表)", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "meter_type")
|
||||
private Long meterType;
|
||||
|
||||
@@ -75,13 +75,13 @@ public class TbMeterInfoVo implements Serializable {
|
||||
* 初始读数
|
||||
*/
|
||||
@ExcelProperty(value = "初始读数")
|
||||
private Long initReading;
|
||||
private BigDecimal initReading;
|
||||
|
||||
/**
|
||||
* 最大量程
|
||||
*/
|
||||
@ExcelProperty(value = "最大量程")
|
||||
private Long maxRang;
|
||||
private BigDecimal maxRang;
|
||||
|
||||
/**
|
||||
* 通信状态
|
||||
@@ -97,6 +97,42 @@ public class TbMeterInfoVo implements Serializable {
|
||||
@ExcelDictFormat(dictType = "sis_device_status")
|
||||
private Long runningState;
|
||||
|
||||
/**
|
||||
* 园区编码
|
||||
*/
|
||||
@ExcelProperty(value = "园区编码")
|
||||
private Long communityId;
|
||||
|
||||
/**
|
||||
* 建筑名称
|
||||
*/
|
||||
@ExcelProperty(value = "建筑名称")
|
||||
private Long buildingId;
|
||||
|
||||
/**
|
||||
* 单元编码
|
||||
*/
|
||||
@ExcelProperty(value = "单元编码")
|
||||
private Long unitId;
|
||||
|
||||
/**
|
||||
* 楼层ID
|
||||
*/
|
||||
@ExcelProperty(value = "楼层ID")
|
||||
private Long floorId;
|
||||
|
||||
/**
|
||||
* 楼层
|
||||
*/
|
||||
@ExcelProperty(value = "楼层")
|
||||
private String floorName;
|
||||
|
||||
/**
|
||||
* 采集器IP
|
||||
*/
|
||||
@ExcelProperty(value = "采集器IP")
|
||||
private String hostIp;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@@ -1,8 +1,9 @@
|
||||
package org.dromara.property.domain.vo.smartDevicesVo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import org.dromara.property.domain.TbMeterRecord;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterRecord;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
@@ -16,7 +17,7 @@ import java.io.Serializable;
|
||||
* 抄记录视图对象 tb_meter_record
|
||||
*
|
||||
* @author lsm
|
||||
* @date 2025-07-19
|
||||
* @since 2025-07-19
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@@ -38,6 +39,12 @@ public class TbMeterRecordVo implements Serializable {
|
||||
@ExcelProperty(value = "仪表编号")
|
||||
private String meterId;
|
||||
|
||||
/**
|
||||
* 设备类型(1-电表,2-水表,3-气表)
|
||||
*/
|
||||
@ExcelProperty(value = "仪表类型")
|
||||
private Long meterType;
|
||||
|
||||
/**
|
||||
* 抄表员ID
|
||||
*/
|
||||
@@ -54,19 +61,19 @@ public class TbMeterRecordVo implements Serializable {
|
||||
* 当前读数
|
||||
*/
|
||||
@ExcelProperty(value = "当前读数")
|
||||
private Long currentReading;
|
||||
private BigDecimal currentReading;
|
||||
|
||||
/**
|
||||
* 上次读数
|
||||
*/
|
||||
@ExcelProperty(value = "上次读数")
|
||||
private Long previousReading;
|
||||
private BigDecimal previousReading;
|
||||
|
||||
/**
|
||||
* 用量
|
||||
*/
|
||||
@ExcelProperty(value = "用量")
|
||||
private Long consumption;
|
||||
private BigDecimal consumption;
|
||||
|
||||
/**
|
||||
* 抄表方式(1手动 2自动 3用户上报)
|
||||
@@ -78,7 +85,7 @@ public class TbMeterRecordVo implements Serializable {
|
||||
* 抄表照片
|
||||
*/
|
||||
@ExcelProperty(value = "抄表照片")
|
||||
private Long imgOssid;
|
||||
private Long imgOssId;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package org.dromara.property.domain.vo.smartDevicesVo;
|
||||
|
||||
import org.dromara.property.domain.TbMeterRoom;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterRoom;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
|
@@ -17,6 +17,7 @@ import java.util.List;
|
||||
public interface PlantsPlanProductMapper extends BaseMapperPlus<PlantsPlanProduct, PlantsPlanProductVo> {
|
||||
|
||||
void deleteByPlanId(Long planId);
|
||||
void deleteByPlanIds(List<Long> planIds);
|
||||
|
||||
List<PlantsPlanProductVo> queryProductsInfo(Long planId);
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.property.domain.TbRoom;
|
||||
import org.dromara.property.domain.vo.TbRoomVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
@@ -19,5 +20,5 @@ public interface TbRoomMapper extends BaseMapperPlus<TbRoom, TbRoomVo> {
|
||||
|
||||
//查询房间名称
|
||||
String queryRoomName(Long roomId);
|
||||
Map<Long,String> queryRoomNameList(List<Long> ids);
|
||||
List<String> queryRoomNameList(@Param("ids") List<Long> ids);
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package org.dromara.property.mapper.smartDevicesMapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.TbLightInfo;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbLightInfo;
|
||||
import org.dromara.property.domain.vo.smartDevicesVo.TbLightInfoVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package org.dromara.property.mapper.smartDevicesMapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.TbMeterConfig;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterConfig;
|
||||
import org.dromara.property.domain.vo.smartDevicesVo.TbMeterConfigVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.mapper.smartDevicesMapper;
|
||||
|
||||
import org.dromara.property.domain.TbMeterInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterInfo;
|
||||
import org.dromara.property.domain.vo.smartDevicesVo.TbMeterInfoVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
@@ -8,8 +9,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
* 水电气Mapper接口
|
||||
*
|
||||
* @author lsm
|
||||
* @date 2025-07-19
|
||||
* @since 2025-07-19
|
||||
*/
|
||||
@Mapper
|
||||
public interface TbMeterInfoMapper extends BaseMapperPlus<TbMeterInfo, TbMeterInfoVo> {
|
||||
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.mapper.smartDevicesMapper;
|
||||
|
||||
import org.dromara.property.domain.TbMeterRecord;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterRecord;
|
||||
import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRecordVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
@@ -8,8 +9,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
* 抄记录Mapper接口
|
||||
*
|
||||
* @author lsm
|
||||
* @date 2025-07-19
|
||||
* @since 2025-07-19
|
||||
*/
|
||||
@Mapper
|
||||
public interface TbMeterRecordMapper extends BaseMapperPlus<TbMeterRecord, TbMeterRecordVo> {
|
||||
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package org.dromara.property.mapper.smartDevicesMapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.TbMeterRoom;
|
||||
import org.dromara.property.domain.entity.smartDevices.TbMeterRoom;
|
||||
import org.dromara.property.domain.vo.smartDevicesVo.TbMeterRoomVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
|
@@ -0,0 +1,18 @@
|
||||
package org.dromara.property.rocketmq;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote RocketMqConstants
|
||||
* @since 2025/8/25
|
||||
*/
|
||||
public interface RocketMqConstants {
|
||||
// mq topic
|
||||
String TOPIC = "SmartParks";
|
||||
|
||||
// mq GROUP
|
||||
String METER_GROUP = "METER_GROUP";
|
||||
|
||||
/*-----------------------------------消息tag------------------------------------*/
|
||||
String METER_RECORD = "METER_RECORD_TAG";
|
||||
|
||||
}
|
@@ -0,0 +1,40 @@
|
||||
package org.dromara.property.rocketmq.consumer;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.rocketmq.common.message.MessageExt;
|
||||
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
|
||||
import org.apache.rocketmq.spring.core.RocketMQListener;
|
||||
import org.dromara.property.rocketmq.RocketMqConstants;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote MeterRecordConsumer
|
||||
* @since 2025/8/25
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@RocketMQMessageListener(
|
||||
topic = RocketMqConstants.TOPIC,
|
||||
consumerGroup = RocketMqConstants.METER_GROUP,
|
||||
selectorExpression = RocketMqConstants.METER_RECORD
|
||||
)
|
||||
public class MeterRecordConsumer implements RocketMQListener<MessageExt> {
|
||||
|
||||
@Override
|
||||
public void onMessage(MessageExt ext) {
|
||||
log.info("消费仪表上报数据,数据长度={}", ext.getBody().length);
|
||||
try {
|
||||
String message = new String(ext.getBody());
|
||||
log.info("物业仪表上报数据,数据={}", message);
|
||||
} catch (Exception e) {
|
||||
log.error("消费仪表上报数据处理失败,", e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -15,4 +15,12 @@ public interface EnumFetcherService {
|
||||
* @return
|
||||
*/
|
||||
List<Map<Object, Object>> getEnumValues(String type);
|
||||
|
||||
/**
|
||||
* 获取排班信息人员下拉
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
|
||||
List<Map<Object, Object>> getShiftScheduler(String type);
|
||||
}
|
||||
|
@@ -67,6 +67,12 @@ public interface IPlantsPlanProductService {
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 根据方案id删除方案产品
|
||||
* @param ids
|
||||
*/
|
||||
void deleteByPlanIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 批量保存租赁方案植物
|
||||
*
|
||||
|
@@ -8,6 +8,7 @@ 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;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -94,4 +95,12 @@ public interface IServiceWorkOrdersService {
|
||||
* @return
|
||||
*/
|
||||
List<Map<Object, Object>> getServiceWorkOrdersHandler(String type);
|
||||
/**
|
||||
* 分页查询【工单处理】列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 【工单处理】分页列表
|
||||
*/
|
||||
TableDataInfo<MServiceWorkOrdersVo> queryMobilePageList(ServiceWorkOrdersBo bo, PageQuery pageQuery);
|
||||
}
|
||||
|
@@ -9,6 +9,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 房间信息Service接口
|
||||
@@ -76,5 +77,11 @@ public interface ITbRoomService {
|
||||
* @return 房间名称
|
||||
*/
|
||||
String queryRoomName(Long roomId);
|
||||
/**
|
||||
* 获取详细房间名称
|
||||
* @param ids 房间id集合
|
||||
* @return 房间名称
|
||||
*/
|
||||
List<String> queryRoomNameList(List<Long> ids);
|
||||
|
||||
}
|
||||
|
@@ -56,6 +56,14 @@ public interface ITbVisitorManagementService {
|
||||
*/
|
||||
Boolean insertByBo(TbVisitorManagementBo bo);
|
||||
|
||||
/**
|
||||
* 新增访客管理
|
||||
*
|
||||
* @param bo 访客管理
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertH5ByBo(TbVisitorManagementBo bo);
|
||||
|
||||
|
||||
Boolean insertVistorManagementByBo(TbVisitorManagementBo bo);
|
||||
|
||||
|
@@ -73,7 +73,7 @@ public class AssetTypeServiceImpl implements IAssetTypeService {
|
||||
private LambdaQueryWrapper<AssetType> buildQueryWrapper(AssetTypeBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<AssetType> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(AssetType::getId);
|
||||
lqw.orderByAsc(AssetType::getSort);
|
||||
lqw.like(StringUtils.isNotBlank(bo.getAssetTypeName()), AssetType::getAssetTypeName, bo.getAssetTypeName());
|
||||
lqw.eq(bo.getSort() != null, AssetType::getSort, bo.getSort());
|
||||
return lqw;
|
||||
|
@@ -1,40 +1,41 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
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.property.domain.CostCarCharge;
|
||||
import org.dromara.property.domain.CostPayFeeAudit;
|
||||
import org.dromara.property.domain.CostReturnPayFee;
|
||||
import org.dromara.property.domain.ResidentPerson;
|
||||
import org.dromara.property.domain.bo.CostCarChargeBo;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.vo.CostHouseChargeVo;
|
||||
import org.dromara.property.domain.vo.CostItemsVo;
|
||||
import org.dromara.property.mapper.CostItemsMapper;
|
||||
import org.dromara.property.mapper.CostPayFeeAuditMapper;
|
||||
import org.dromara.property.mapper.CostReturnPayFeeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.CostCarChargeBo;
|
||||
import org.dromara.property.domain.vo.CostCarChargeVo;
|
||||
import org.dromara.property.domain.CostCarCharge;
|
||||
import org.dromara.property.mapper.CostCarChargeMapper;
|
||||
import org.dromara.property.domain.vo.CostItemsVo;
|
||||
import org.dromara.property.mapper.*;
|
||||
import org.dromara.property.service.ICostCarChargeService;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 费用-车辆收费Service业务层处理
|
||||
@@ -51,6 +52,9 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
private final CostItemsMapper costItemsMapper;
|
||||
private final CostPayFeeAuditMapper costPayFeeAuditMapper;
|
||||
private final CostReturnPayFeeMapper costReturnPayFeeMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
|
||||
|
||||
/**
|
||||
@@ -60,7 +64,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
* @return 费用-车辆收费
|
||||
*/
|
||||
@Override
|
||||
public CostCarChargeVo queryById(Long id){
|
||||
public CostCarChargeVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@@ -75,6 +79,18 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
public TableDataInfo<CostCarChargeVo> queryPageList(CostCarChargeBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostCarCharge> lqw = buildQueryWrapper(bo);
|
||||
Page<CostCarChargeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
// List<Long> residentPersonIdList = result.getRecords().stream().map(vo -> vo.getPersonId()).distinct().collect(Collectors.toList());
|
||||
// List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(residentPersonIdList);
|
||||
|
||||
List<ResidentPerson> residentPeoplelist = residentPersonMapper.selectList();
|
||||
// List<String> roomNames = roomService.queryRoomNameList(idList);
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
if (CollUtil.isNotEmpty(residentPeoplelist)) {
|
||||
ResidentPerson residentPerson = residentPeoplelist.stream()
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getPersonId())).findFirst().orElse(null);
|
||||
s.setPersonName(ObjectUtil.isNotEmpty(residentPerson)?residentPerson.getUserName():null);
|
||||
}
|
||||
});
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -142,6 +158,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
|
||||
/**
|
||||
* 车辆退费
|
||||
*
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@@ -149,7 +166,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean returnFree(CostChargeReturnFeeBo bo) {
|
||||
CostCarCharge costCarCharge = baseMapper.selectById(bo.getId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costCarCharge),"该费用不存在");
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costCarCharge), "该费用不存在");
|
||||
var CostReturnPayFee = new CostReturnPayFee()
|
||||
.setChargeId(costCarCharge.getId())
|
||||
.setChargeType("2")
|
||||
@@ -159,8 +176,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
.setUserId(costCarCharge.getPersonId())
|
||||
.setPayNo(costCarCharge.getId().toString())
|
||||
.setPayAcount(costCarCharge.getAmountReceivable())
|
||||
.setState("0")
|
||||
;
|
||||
.setState("0");
|
||||
costReturnPayFeeMapper.insert(CostReturnPayFee);
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.REFUND_PENDING_REVIEW.getValue());
|
||||
return baseMapper.updateById(costCarCharge) > 0;
|
||||
@@ -183,7 +199,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostCarCharge entity){
|
||||
private void validEntityBeforeSave(CostCarCharge entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -197,7 +213,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
|
@@ -1,9 +1,11 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
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.TableDataInfo;
|
||||
@@ -15,10 +17,13 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.CostPayFeeAudit;
|
||||
import org.dromara.property.domain.CostReturnPayFee;
|
||||
import org.dromara.property.domain.ResidentPerson;
|
||||
import org.dromara.property.domain.bo.CostChargeReturnFeeBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.*;
|
||||
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.CostHouseChargeBo;
|
||||
import org.dromara.property.domain.CostHouseCharge;
|
||||
@@ -48,6 +53,9 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
private final CostPayFeeAuditMapper costPayFeeAuditMapper;
|
||||
private final CostReturnPayFeeMapper costReturnPayFeeMapper;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询房屋收费
|
||||
*
|
||||
@@ -59,11 +67,14 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
CostHouseChargeVo costHouseChargeVo = baseMapper.selectVoById(id);
|
||||
CostHouseChargeDetailVo costHouseChargeDetailVo = BeanUtil.copyProperties(costHouseChargeVo, CostHouseChargeDetailVo.class);
|
||||
CostItemsVo costItemsVo = costItemsMapper.selectVoById(costHouseChargeDetailVo.getCostItemsId());
|
||||
costHouseChargeDetailVo.setCostItemsVo(costItemsVo);
|
||||
costHouseChargeDetailVo.setCostItemsVo(ObjectUtil.isNotEmpty(costItemsVo) ? costItemsVo : null);
|
||||
TbRoomVo tbRoomVo = tbRoomMapper.selectVoById(costHouseChargeDetailVo.getRoomId());
|
||||
costHouseChargeDetailVo.setRoomVo(tbRoomVo);
|
||||
costHouseChargeDetailVo.setRoomVo(ObjectUtil.isNotEmpty(tbRoomVo) ? tbRoomVo : null);
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(costHouseChargeVo.getPersonId());
|
||||
costHouseChargeDetailVo.setPersonName(residentPersonVo.getUserName());
|
||||
//RemoteUserVo userInfo = remoteUserService.getUserInfoById(costHouseChargeVo.getPersonId());
|
||||
String roomName = tbRoomMapper.queryRoomName(costHouseChargeDetailVo.getRoomId());
|
||||
costHouseChargeDetailVo.setRoomName(StringUtils.isNotBlank(roomName) ? roomName : null);
|
||||
costHouseChargeDetailVo.setPersonName(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getUserName() : null);
|
||||
return costHouseChargeDetailVo;
|
||||
}
|
||||
|
||||
@@ -77,7 +88,17 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
@Override
|
||||
public TableDataInfo<CostHouseChargeVo> queryPageList(CostHouseChargeBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostHouseCharge> lqw = buildQueryWrapper(bo);
|
||||
List<ResidentPerson> residentPeoplelist = residentPersonMapper.selectList();
|
||||
Page<CostHouseChargeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
if (CollUtil.isNotEmpty(residentPeoplelist)) {
|
||||
ResidentPerson residentPerson = residentPeoplelist.stream()
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getPersonId())).findFirst().orElse(null);
|
||||
s.setPersonName(ObjectUtil.isNotEmpty(residentPerson) ? residentPerson.getUserName() : null);
|
||||
String roomName = tbRoomMapper.queryRoomName(s.getRoomId());
|
||||
s.setRoomName(StringUtils.isNotBlank(roomName) ? roomName : null);
|
||||
}
|
||||
});
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -165,7 +186,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean returnFree(CostChargeReturnFeeBo bo) {
|
||||
CostHouseChargeVo costHouseChargeVo = baseMapper.selectVoById(bo.getId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costHouseChargeVo),"该费用不存在");
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costHouseChargeVo), "该费用不存在");
|
||||
var CostReturnPayFee = new CostReturnPayFee().setItemId(costHouseChargeVo.getCostItemsId())
|
||||
.setReturnNo(RandomUtil.randomNumbers(11))
|
||||
.setReason(bo.getReason())
|
||||
@@ -173,8 +194,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService {
|
||||
.setUserId(costHouseChargeVo.getPersonId())
|
||||
.setPayNo(costHouseChargeVo.getId().toString())
|
||||
.setPayAcount(costHouseChargeVo.getAmountReceivable())
|
||||
.setState("0")
|
||||
;
|
||||
.setState("0");
|
||||
boolean flag = costReturnPayFeeMapper.insert(CostReturnPayFee) > 0;
|
||||
CostHouseCharge costHouseCharge = BeanUtil.copyProperties(costHouseChargeVo, CostHouseCharge.class);
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.REFUND_PENDING_REVIEW.getValue());
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -10,6 +12,8 @@ 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.vo.CostMeterTypeVo;
|
||||
import org.dromara.property.mapper.CostMeterTypeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.CostMeterWaterBo;
|
||||
import org.dromara.property.domain.vo.CostMeterWaterVo;
|
||||
@@ -35,6 +39,7 @@ import java.util.Collection;
|
||||
public class CostMeterWaterServiceImpl implements ICostMeterWaterService {
|
||||
|
||||
private final CostMeterWaterMapper baseMapper;
|
||||
private final CostMeterTypeMapper costMeterTypeMapper;
|
||||
|
||||
/**
|
||||
* 查询费用-水电抄
|
||||
@@ -58,6 +63,16 @@ public class CostMeterWaterServiceImpl implements ICostMeterWaterService {
|
||||
public TableDataInfo<CostMeterWaterVo> queryPageList(CostMeterWaterBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostMeterWater> lqw = buildQueryWrapper(bo);
|
||||
Page<CostMeterWaterVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
if (CollUtil.isNotEmpty(result.getRecords())){
|
||||
//收集抄表类型id
|
||||
List<Long> meterTypeIds = result.getRecords().stream().map(CostMeterWaterVo::getMeterTypeId).toList();
|
||||
List<CostMeterTypeVo> costMeterTypeVos = costMeterTypeMapper.selectVoByIds(meterTypeIds);
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
//查找抄表类型名称
|
||||
CostMeterTypeVo costMeterTypeVo = costMeterTypeVos.stream().filter(vo -> vo.getId() != null && vo.getId().equals(s.getMeterTypeId())).findFirst().orElse(null);
|
||||
s.setCostTypeName(ObjectUtil.isNotEmpty(costMeterTypeVo)?costMeterTypeVo.getName():null);
|
||||
});
|
||||
}
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -79,6 +94,7 @@ public class CostMeterWaterServiceImpl implements ICostMeterWaterService {
|
||||
lqw.orderByAsc(CostMeterWater::getId);
|
||||
lqw.eq(bo.getItemId() != null, CostMeterWater::getItemId, bo.getItemId());
|
||||
lqw.eq(bo.getMeterTypeId() != null, CostMeterWater::getMeterTypeId, bo.getMeterTypeId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCostType()), CostMeterWater::getCostType, bo.getCostType());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getObjName()), CostMeterWater::getObjName, bo.getObjName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCurDegrees()), CostMeterWater::getCurDegrees, bo.getCurDegrees());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPreDegrees()), CostMeterWater::getPreDegrees, bo.getPreDegrees());
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.checkerframework.checker.units.qual.C;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
@@ -17,6 +18,7 @@ import org.dromara.property.domain.CostHouseCharge;
|
||||
import org.dromara.property.domain.CostPayFeeAudit;
|
||||
import org.dromara.property.domain.bo.CostPayFeeAuditBo;
|
||||
import org.dromara.property.domain.enums.ChargeStatusEnum;
|
||||
import org.dromara.property.domain.enums.ChargeTypeEnum;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.*;
|
||||
import org.dromara.property.service.ICostPayFeeAuditService;
|
||||
@@ -58,7 +60,18 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
CostItemsVo costItemsVo = costItemsMapper.selectVoById(costPayFeeAuditVo.getItemId());
|
||||
costPayFeeAuditVo.setChargeItem(ObjectUtil.isNotEmpty(costItemsVo) ? costItemsVo.getChargeItem() : null);
|
||||
costPayFeeAuditVo.setChargeCycle(ObjectUtil.isNotEmpty(costItemsVo) ? costItemsVo.getChargeCycle() : null);
|
||||
//TbRoomVo roomVo = roomMapper.selectVoById(costPayFeeAuditVo.getChargeId());
|
||||
if (costPayFeeAuditVo.getChargeType().equals(ChargeTypeEnum.HOUS_CHARGES.getValue())) {
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(costPayFeeAuditVo.getChargeId());
|
||||
if (ObjectUtil.isNotEmpty(costHouseCharge)) {
|
||||
String queryRoomName = roomMapper.queryRoomName(costHouseCharge.getRoomId());
|
||||
costPayFeeAuditVo.setRoomNumber(ObjectUtil.isNotEmpty(queryRoomName) ? queryRoomName : null);
|
||||
}
|
||||
}
|
||||
if (costPayFeeAuditVo.getChargeType().equals(ChargeTypeEnum.CARD_CHARGES.getValue())) {
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(costPayFeeAuditVo.getChargeId());
|
||||
costPayFeeAuditVo.setCarNumber(ObjectUtil.isNotEmpty(costCarCharge) ? costCarCharge.getCarNumber() : null);
|
||||
}
|
||||
// TbRoomVo roomVo = roomMapper.selectVoById(costPayFeeAuditVo.getChargeId());
|
||||
//costPayFeeAuditVo.setRoomNumber(ObjectUtil.isNotEmpty(roomVo)? roomVo.getRoomNumber() :null );
|
||||
return costPayFeeAuditVo;
|
||||
}
|
||||
@@ -91,7 +104,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
}
|
||||
if (CollUtil.isNotEmpty(roomVoList)) {
|
||||
TbRoomVo tbRoomVo = roomVoList.stream()
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getChargeId())).findFirst().orElse(null);
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getRoomNumber())).findFirst().orElse(null);
|
||||
s.setRoomNumber(ObjectUtil.isNotEmpty(tbRoomVo) ? tbRoomVo.getRoomNumber() : null);
|
||||
}
|
||||
costPayFeeAuditVoList.add(s);
|
||||
@@ -174,25 +187,30 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService {
|
||||
private void validEntityBeforeUpdate(CostPayFeeAudit entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if (entity.getState().equals("1")) {
|
||||
if (entity.getChargeType().equals("1")) {
|
||||
if (entity.getChargeType().equals(ChargeTypeEnum.HOUS_CHARGES.getValue())) {
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costHouseCharge), "该房屋收费项不存在!");
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_WAS_APPROVED.getValue());
|
||||
coinHouseChargeMapper.updateById(costHouseCharge);
|
||||
}
|
||||
if (entity.getChargeType().equals("2")) {
|
||||
if (entity.getChargeType().equals(ChargeTypeEnum.CARD_CHARGES.getValue())) {
|
||||
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costCarCharge), "该车辆收费项为空");
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_WAS_APPROVED.getValue());
|
||||
costCarChargeMapper.updateById(costCarCharge);
|
||||
}
|
||||
}
|
||||
if (entity.getState().equals("2")) {
|
||||
if (entity.getChargeType().equals("1")) {
|
||||
if (entity.getChargeType().equals(ChargeTypeEnum.HOUS_CHARGES.getValue())) {
|
||||
CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costHouseCharge), "该房屋收费项为空");
|
||||
costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_REVIEW_FAILED.getValue());
|
||||
coinHouseChargeMapper.updateById(costHouseCharge);
|
||||
}
|
||||
if (entity.getChargeType().equals("2")) {
|
||||
if (entity.getChargeType().equals(ChargeTypeEnum.CARD_CHARGES.getValue())) {
|
||||
CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId());
|
||||
Assert.isTrue(ObjectUtil.isNotEmpty(costCarCharge), "该车辆收费项为空");
|
||||
costCarCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_REVIEW_FAILED.getValue());
|
||||
costCarChargeMapper.updateById(costCarCharge);
|
||||
}
|
||||
|
@@ -138,6 +138,7 @@ public class CustomerContingenPlanServiceImpl implements ICustomerContingenPlanS
|
||||
bo.setId(add.getId());
|
||||
CustomerContingenPlanRecord customerContingenPlanRecord = new CustomerContingenPlanRecord();
|
||||
customerContingenPlanRecord.setStatus(add.getStatus());
|
||||
customerContingenPlanRecord.setStatus("0");
|
||||
customerContingenPlanRecord.setContingenPlanId(add.getId());
|
||||
customerContingenPlanRecord.setDutyPersion(add.getDutyPersion());
|
||||
customerContingenPlanRecordMapper.insert(customerContingenPlanRecord);
|
||||
|
@@ -1,5 +1,9 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
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.TableDataInfo;
|
||||
@@ -9,17 +13,31 @@ 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.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.property.domain.CustomerFeedbacks;
|
||||
import org.dromara.property.domain.ServiceWorkOrders;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersType;
|
||||
import org.dromara.property.domain.bo.CustomerFeedbacksBo;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.CustomerFeedbacksVo;
|
||||
import org.dromara.property.domain.vo.CustomerNoticesVo;
|
||||
import org.dromara.property.mapper.CustomerFeedbacksMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersRecordMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersTypeMapper;
|
||||
import org.dromara.property.service.ICustomerFeedbacksService;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.dromara.system.api.model.LoginUser;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 客户服务-意见反馈Service业务层处理
|
||||
@@ -33,6 +51,11 @@ import java.util.Collection;
|
||||
public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
|
||||
private final CustomerFeedbacksMapper baseMapper;
|
||||
private final ServiceWorkOrdersMapper serviceWorkOrdersMapper;
|
||||
private final ServiceWorkOrdersTypeMapper serviceWorkOrdersTypeMapper;
|
||||
private final ServiceWorkOrdersRecordMapper serviceWorkOrdersRecordMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询客户服务-意见反馈
|
||||
@@ -41,8 +64,13 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
* @return 客户服务-意见反馈
|
||||
*/
|
||||
@Override
|
||||
public CustomerFeedbacksVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
public CustomerFeedbacksVo queryById(Long id) {
|
||||
CustomerFeedbacksVo customerFeedbacksVo = baseMapper.selectVoById(id);
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypeMapper.selectById(customerFeedbacksVo.getFeedbackType());
|
||||
customerFeedbacksVo.setFeedbackTypeName(ObjectUtil.isNotEmpty(serviceWorkOrdersType) ? serviceWorkOrdersType.getOrderTypeName() : null);
|
||||
String nikName = remoteUserService.selectNicknameById(ObjectUtil.isNotEmpty(customerFeedbacksVo) ?customerFeedbacksVo.getFeedbackPersion():null);
|
||||
customerFeedbacksVo.setFeedbackPersionName(nikName);
|
||||
return customerFeedbacksVo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,9 +84,45 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
public TableDataInfo<CustomerFeedbacksVo> queryPageList(CustomerFeedbacksBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CustomerFeedbacks> lqw = buildQueryWrapper(bo);
|
||||
Page<CustomerFeedbacksVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
if (CollUtil.isNotEmpty(result.getRecords())) {
|
||||
//收集类型为集合
|
||||
List<Long> feedbackTypeIds = result.getRecords().stream().map(CustomerFeedbacksVo::getFeedbackType).toList();
|
||||
//查询工单类型
|
||||
List<ServiceWorkOrdersType> serviceWorkOrdersTypes = serviceWorkOrdersTypeMapper.selectList(
|
||||
Wrappers.<ServiceWorkOrdersType>lambdaQuery()
|
||||
.in(ServiceWorkOrdersType::getId, feedbackTypeIds)
|
||||
);
|
||||
// 提取发布人ID
|
||||
List<Long> uerIds = result.getRecords().stream()
|
||||
.filter(vo -> ObjectUtil.isNotEmpty(vo.getFeedbackPersion()))
|
||||
.map(CustomerFeedbacksVo::getFeedbackPersion)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(uerIds);
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
assembly(s, serviceWorkOrdersTypes, remoteUserVos);
|
||||
});
|
||||
}
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param customerFeedbacksVo 意见反馈返回信息
|
||||
*
|
||||
*/
|
||||
private void assembly(CustomerFeedbacksVo customerFeedbacksVo, List<ServiceWorkOrdersType> serviceWorkOrdersTypes, List<RemoteUserVo> remoteUserVos) {
|
||||
if (CollUtil.isNotEmpty(remoteUserVos)) {
|
||||
RemoteUserVo remoteUserVo = remoteUserVos.stream()
|
||||
.filter(vo -> vo.getUserId() != null && vo.getUserId().equals(customerFeedbacksVo.getFeedbackPersion())).findFirst().orElse(null);
|
||||
customerFeedbacksVo.setFeedbackPersionName(ObjectUtil.isNotEmpty(remoteUserVo) ? remoteUserVo.getNickName() : null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(serviceWorkOrdersTypes)) {
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypes.stream().filter(vo -> vo.getId() != null && vo.getId().equals(customerFeedbacksVo.getFeedbackType())).findFirst().orElse(null);
|
||||
customerFeedbacksVo.setFeedbackTypeName(ObjectUtil.isNotEmpty(serviceWorkOrdersType) ? serviceWorkOrdersType.getOrderTypeName() : null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的客户服务-意见反馈列表
|
||||
*
|
||||
@@ -75,7 +139,7 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CustomerFeedbacks> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(CustomerFeedbacks::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackType()), CustomerFeedbacks::getFeedbackType, bo.getFeedbackType());
|
||||
lqw.eq(ObjectUtil.isNotNull(bo.getFeedbackType()), CustomerFeedbacks::getFeedbackType, bo.getFeedbackType());
|
||||
lqw.eq(bo.getFeedbackPersion() != null, CustomerFeedbacks::getFeedbackPersion, bo.getFeedbackPersion());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackPersionPhone()), CustomerFeedbacks::getFeedbackPersionPhone, bo.getFeedbackPersionPhone());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackContent()), CustomerFeedbacks::getFeedbackContent, bo.getFeedbackContent());
|
||||
@@ -116,17 +180,45 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(CustomerFeedbacksBo bo) {
|
||||
CustomerFeedbacks update = MapstructUtils.convert(bo, CustomerFeedbacks.class);
|
||||
validEntityBeforeSave(update);
|
||||
validEntityBeforeUpdate(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CustomerFeedbacks entity){
|
||||
private void validEntityBeforeSave(CustomerFeedbacks entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeUpdate(CustomerFeedbacks entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if (entity.getIsWorkOrder().equals("0") && ObjectUtil.isEmpty(entity.getOrderId())) {
|
||||
ServiceWorkOrders serviceWorkOrders = new ServiceWorkOrders();
|
||||
serviceWorkOrders.setOrderName("意见反馈转工单");
|
||||
LoginUser user = LoginHelper.getLoginUser();
|
||||
serviceWorkOrders.setOrderNo("GD" + IdUtil.getSnowflakeNextIdStr());
|
||||
serviceWorkOrders.setStatus("0");
|
||||
serviceWorkOrders.setRemark(entity.getFeedbackContent());
|
||||
serviceWorkOrders.setType(entity.getFeedbackType());
|
||||
serviceWorkOrders.setInitiatorPeople(user.getNickname());
|
||||
serviceWorkOrders.setReportingType("3");
|
||||
serviceWorkOrders.setProcessingWeight("1");
|
||||
boolean flag = serviceWorkOrdersMapper.insert(serviceWorkOrders) > 0;
|
||||
if (flag) {
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(serviceWorkOrders.getId());
|
||||
serviceWorkOrdersRecord.setStatus(serviceWorkOrders.getStatus());
|
||||
//serviceWorkOrdersRecord.setHandler(add.getHandler());
|
||||
serviceWorkOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
}
|
||||
entity.setOrderId(serviceWorkOrders.getId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除客户服务-意见反馈信息
|
||||
*
|
||||
@@ -136,7 +228,7 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
|
@@ -88,14 +88,14 @@ public class DepotLogServiceImpl implements IDepotLogService {
|
||||
Map<Long, String> assetNamesByIds = assetsMapper.selectList(
|
||||
new LambdaQueryWrapper<Asset>()
|
||||
.select(Asset::getId, Asset::getName)
|
||||
.in(Asset::getId, assetIds)
|
||||
.in(CollUtil.isNotEmpty(assetIds),Asset::getId, assetIds)
|
||||
).stream()
|
||||
.collect(Collectors.toMap(Asset::getId, Asset::getName));
|
||||
//批量获取厂库名
|
||||
Map<Long, String> depotNamesByIds = depotMapper.selectList(
|
||||
new LambdaQueryWrapper<Depot>()
|
||||
.select(Depot::getId, Depot::getDepotName)
|
||||
.in(Depot::getId, depotIds)
|
||||
.in(CollUtil.isNotEmpty(depotIds),Depot::getId, depotIds)
|
||||
).stream()
|
||||
.collect(Collectors.toMap(Depot::getId, Depot::getDepotName));
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
|
@@ -1,18 +1,30 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.property.domain.AttendanceUserGroup;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersType;
|
||||
import org.dromara.property.domain.TbUnit;
|
||||
import org.dromara.property.domain.enums.BookingPayStatusEnum;
|
||||
import org.dromara.property.domain.enums.BookingStatusEnum;
|
||||
import org.dromara.property.domain.enums.MeetAttachStatusEnum;
|
||||
import org.dromara.property.domain.enums.MeetStatusEnum;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersTypeMapper;
|
||||
import org.dromara.property.mapper.TbUnitMapper;
|
||||
import org.dromara.property.mapper.attendanceMapper.AttendanceUserGroupMapper;
|
||||
import org.dromara.property.service.*;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -31,6 +43,15 @@ public class EnumFetcherServiceImpl implements EnumFetcherService {
|
||||
private IMeetBookingService meetBookingService;
|
||||
@Autowired
|
||||
private IServiceWorkOrdersService serviceWorkOrdersService;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
@Autowired
|
||||
private ServiceWorkOrdersTypeMapper serviceWorkOrdersTypeMapper;
|
||||
@Autowired
|
||||
private TbUnitMapper unitMapper;
|
||||
@Autowired
|
||||
private AttendanceUserGroupMapper attendanceUserGroupMapper;
|
||||
|
||||
@Override
|
||||
public List<Map<Object, Object>> getEnumValues(String type) {
|
||||
@@ -53,13 +74,37 @@ public class EnumFetcherServiceImpl implements EnumFetcherService {
|
||||
return getMeetBookingPayStatus();
|
||||
case "getMeetBookingStatus":
|
||||
return getMeetBookingStatus();
|
||||
case "getAccount":
|
||||
return getAccount(new ArrayList<>());
|
||||
case "getServiceWorkOrdersHandler":
|
||||
return serviceWorkOrdersService.getServiceWorkOrdersHandler(type);
|
||||
case "getUnit":
|
||||
return getUnit();
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown type: " + type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单位枚举接口下拉
|
||||
* @return
|
||||
*/
|
||||
|
||||
private List<Map<Object, Object>> getUnit() {
|
||||
List<TbUnit> tbUnitList = unitMapper.selectList();
|
||||
return tbUnitList.stream()
|
||||
.map(e -> {
|
||||
Map<Object, Object> map = new HashMap<>();
|
||||
map.put("value", e.getId());
|
||||
map.put("name", e.getUnitName());
|
||||
return map;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会议室状态枚举接口
|
||||
*/
|
||||
List<Map<Object, Object>> getMeetStatus() {
|
||||
return Arrays.stream(MeetStatusEnum.values())
|
||||
.map(e -> {
|
||||
@@ -104,4 +149,45 @@ public class EnumFetcherServiceImpl implements EnumFetcherService {
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Map<Object, Object>> getShiftScheduler(String type) {
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypeMapper.selectById(type);
|
||||
if (serviceWorkOrdersType == null) {
|
||||
return List.of();
|
||||
}
|
||||
LocalDate today = LocalDate.now();
|
||||
List<AttendanceUserGroup> attendanceUserGroups = attendanceUserGroupMapper.selectList(
|
||||
new LambdaQueryWrapper<AttendanceUserGroup>()
|
||||
.le(AttendanceUserGroup::getStartDate, today)
|
||||
.ge(AttendanceUserGroup::getEndDate, today)
|
||||
.eq(AttendanceUserGroup::getDeptId, serviceWorkOrdersType.getCreateDept())
|
||||
);
|
||||
|
||||
if (CollUtil.isEmpty(attendanceUserGroups)) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
List<Long> userIdList = attendanceUserGroups.stream()
|
||||
.map(AttendanceUserGroup::getEmployeeId)
|
||||
.toList();
|
||||
|
||||
return getAccount(userIdList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取账户信息
|
||||
*/
|
||||
List<Map<Object, Object>> getAccount(List<Long> userIdList) {
|
||||
List<RemoteUserVo> remoteUserVos = remoteUserService.selectUserList(userIdList);
|
||||
return remoteUserVos.stream()
|
||||
.map(e -> {
|
||||
Map<Object, Object> map = new HashMap<>();
|
||||
map.put("value", e.getUserId());
|
||||
map.put("name", e.getNickName());
|
||||
return map;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
@@ -183,15 +183,17 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService {
|
||||
*/
|
||||
private void validEntityBeforebo(Long id,InspectionPlanBo bo) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
Assert.isTrue(CollUtil.isNotEmpty(bo.getInspectionPlanStaffBoList()), "巡检人员不存在");
|
||||
QueryWrapper<InspectionPlanStaff> staffLambdaQueryWrapper = new QueryWrapper<>();
|
||||
staffLambdaQueryWrapper.eq("inspection_plan_id", id);
|
||||
inspectionPlanStaffMapper.delete(staffLambdaQueryWrapper);
|
||||
List<InspectionPlanStaffBo> inspectionPlanStaffBoList = bo.getInspectionPlanStaffBoList();
|
||||
inspectionPlanStaffBoList.stream().forEach(s->{
|
||||
s.setInspectionPlanId(id);
|
||||
});
|
||||
inspectionPlanStaffMapper.insertBatch(BeanUtil.copyToList(inspectionPlanStaffBoList, InspectionPlanStaff.class));
|
||||
if(CollUtil.isNotEmpty(bo.getInspectionPlanStaffBoList())){
|
||||
QueryWrapper<InspectionPlanStaff> staffLambdaQueryWrapper = new QueryWrapper<>();
|
||||
staffLambdaQueryWrapper.eq("inspection_plan_id", id);
|
||||
inspectionPlanStaffMapper.delete(staffLambdaQueryWrapper);
|
||||
List<InspectionPlanStaffBo> inspectionPlanStaffBoList = bo.getInspectionPlanStaffBoList();
|
||||
inspectionPlanStaffBoList.stream().forEach(s->{
|
||||
s.setInspectionPlanId(id);
|
||||
});
|
||||
inspectionPlanStaffMapper.insertBatch(BeanUtil.copyToList(inspectionPlanStaffBoList, InspectionPlanStaff.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -12,8 +13,10 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.property.domain.InspectionPoint;
|
||||
import org.dromara.property.domain.bo.InspectionPointBo;
|
||||
import org.dromara.property.domain.vo.InspectionItemVo;
|
||||
import org.dromara.property.domain.vo.InspectionPlanVo;
|
||||
import org.dromara.property.domain.vo.InspectionPointVo;
|
||||
import org.dromara.property.mapper.InspectionItemMapper;
|
||||
import org.dromara.property.mapper.InspectionPlanMapper;
|
||||
import org.dromara.property.mapper.InspectionPointMapper;
|
||||
import org.dromara.property.service.IInspectionPointService;
|
||||
@@ -39,6 +42,7 @@ public class InspectionPointServiceImpl implements IInspectionPointService {
|
||||
|
||||
private final InspectionPointMapper baseMapper;
|
||||
private final InspectionPlanMapper inspectionPlanMapper;
|
||||
private final InspectionItemMapper inspectionItemMapper;
|
||||
|
||||
/**
|
||||
* 查询巡检点
|
||||
@@ -62,6 +66,8 @@ public class InspectionPointServiceImpl implements IInspectionPointService {
|
||||
public TableDataInfo<InspectionPointVo> queryPageList(InspectionPointBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<InspectionPoint> lqw = buildQueryWrapper(bo);
|
||||
Page<InspectionPointVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
//收集巡检项目id
|
||||
|
||||
if (CollectionUtil.isEmpty(result.getRecords())) {
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
@@ -69,8 +75,11 @@ public class InspectionPointServiceImpl implements IInspectionPointService {
|
||||
.map(vo -> vo.getItemId())
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<InspectionPlanVo> inspectionPlanVos = inspectionPlanMapper.selectVoByIds(itemIdList);
|
||||
|
||||
List<InspectionItemVo> inspectionItemVos = inspectionItemMapper.selectVoByIds(itemIdList);
|
||||
result.getRecords().stream().forEach(s->{
|
||||
InspectionItemVo inspectionItemVo = inspectionItemVos.stream().filter(vo -> vo.getId() != null && vo.getId().equals(s.getItemId())).findFirst().orElse(null);
|
||||
s.setItemName(ObjectUtil.isNotEmpty(inspectionItemVo)?inspectionItemVo.getItemName():null);
|
||||
});
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
|
@@ -9,6 +9,7 @@ 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;
|
||||
@@ -19,6 +20,8 @@ import org.dromara.property.domain.bo.MeetBookingBo;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.*;
|
||||
import org.dromara.property.service.IMeetBookingService;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -46,6 +49,8 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
private final TbRoomMapper roomMapper;
|
||||
private final MeetMapper meetMapper;
|
||||
private final ResidentUnitMapper residentUnitMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询会议预约
|
||||
@@ -59,12 +64,13 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
MeetBookingDetailVo meetBookingDetailVo = BeanUtil.copyProperties(meetBookingVo, MeetBookingDetailVo.class);
|
||||
MeetVo meetVo = meetMapper.selectVoById(meetBookingDetailVo.getMeetId());
|
||||
String locationName = roomMapper.queryRoomName(Long.valueOf(meetVo.getLocation()));
|
||||
meetBookingDetailVo.setLocationName(ObjectUtil.isNotEmpty(locationName)?locationName:null);
|
||||
meetBookingDetailVo.setLocationName(ObjectUtil.isNotEmpty(locationName) ? locationName : null);
|
||||
//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.setPersonName(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getUserName() : null);
|
||||
meetBookingDetailVo.setPhone(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getPhone(): null);
|
||||
ResidentUnitVo residentUnitVo = residentUnitMapper.selectVoById(Long.valueOf(meetBookingVo.getUnit()));
|
||||
meetBookingDetailVo.setUnitName(ObjectUtil.isNotEmpty(residentPersonVo)?residentUnitVo.getName():null);
|
||||
meetBookingDetailVo.setUnitName(ObjectUtil.isNotNull(residentUnitVo) ? residentUnitVo.getName() : null);
|
||||
return meetBookingDetailVo;
|
||||
}
|
||||
|
||||
@@ -79,24 +85,28 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
public TableDataInfo<MeetBookingVo> queryPageList(MeetBookingBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<MeetBooking> lqw = buildQueryWrapper(bo);
|
||||
Page<MeetBookingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<ResidentPersonVo> residentPersonsVolist = residentPersonMapper.selectVoList();
|
||||
|
||||
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);
|
||||
|
||||
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(residentPersonsVolist)) {
|
||||
ResidentPersonVo residentPersonVo = residentPersonsVolist.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getPerson())).findFirst().orElse(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()));
|
||||
}
|
||||
|
||||
@@ -113,6 +123,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
LocalDateTime startOfDay = date.atStartOfDay();
|
||||
LocalDateTime endOfDay = date.atTime(LocalTime.MAX);
|
||||
meetBookingLambdaQueryWrapper
|
||||
.eq(MeetBooking::getState,2)
|
||||
.le(MeetBooking::getScheduledStarttime, endOfDay)
|
||||
.ge(MeetBooking::getScheduledEndtime, startOfDay);
|
||||
List<MeetBooking> meetBookings = baseMapper.selectList(meetBookingLambdaQueryWrapper);
|
||||
@@ -122,19 +133,21 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
List<MeetBookingAppointmentVo> meetBookingAppointmentVoList = BeanUtil.copyToList(meetBookings, MeetBookingAppointmentVo.class);
|
||||
SimpleDateFormat df = new SimpleDateFormat("HH");
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<ResidentPersonVo> residentPersonsVolist = residentPersonMapper.selectVoList();
|
||||
List<Long> userId = meetBookingAppointmentVoList.stream().map(vo -> vo.getPerson()).distinct().map(Long::parseLong).collect(Collectors.toList());
|
||||
// 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(residentUnitVo.getName());
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo) ?residentUnitVo.getName():null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(residentPersonsVolist)) {
|
||||
ResidentPersonVo residentPersonVo = residentPersonsVolist.stream()
|
||||
if (CollUtil.isNotEmpty(remoteUserVos)) {
|
||||
ResidentPersonVo residentPersonVo = remoteUserVos.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getPerson())).findFirst().orElse(null);
|
||||
s.setPersonName(residentPersonVo.getUserName());
|
||||
s.setPhone(residentPersonVo.getPhone());
|
||||
s.setPersonName(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getUserName() : null);
|
||||
s.setPhone(ObjectUtil.isNotEmpty(residentPersonVo) ? residentPersonVo.getPhone() : null);
|
||||
}
|
||||
String str = df.format(s.getScheduledStarttime());
|
||||
int a = Integer.parseInt(str);
|
||||
@@ -170,6 +183,7 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
// 构建查询条件
|
||||
LambdaQueryWrapper<MeetBooking> bookingLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
bookingLambdaQueryWrapper.eq(MeetBooking::getMeetId, meetId)
|
||||
.eq(MeetBooking::getState,2)
|
||||
.ge(MeetBooking::getScheduledStarttime, startOfWeek)
|
||||
.le(MeetBooking::getScheduledEndtime, endOfWeek);
|
||||
List<MeetBookingVo> meetBookingVoList = baseMapper.selectVoList(bookingLambdaQueryWrapper);
|
||||
@@ -181,17 +195,19 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
List<MeetBookingWeekVo> meetBookingWeekList = new ArrayList<>();
|
||||
SimpleDateFormat df = new SimpleDateFormat("HH");
|
||||
List<ResidentUnitVo> residentUnitVolist = residentUnitMapper.selectVoList();
|
||||
List<ResidentPersonVo> residentPersonsVolist = residentPersonMapper.selectVoList();
|
||||
List<Long> userId = meetBookingWeekVoList.stream().map(vo -> vo.getPerson()).distinct().map(Long::parseLong).collect(Collectors.toList());
|
||||
// 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(residentUnitVo.getName());
|
||||
s.setUnitName(ObjectUtil.isNotEmpty(residentUnitVo)? residentUnitVo.getName():null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(residentPersonsVolist)) {
|
||||
ResidentPersonVo residentPersonVo = residentPersonsVolist.stream()
|
||||
.filter(vo -> vo.getId() != null && String.valueOf(vo.getId()).equals(s.getPerson())).findFirst().orElse(null);
|
||||
s.setPersonName(residentPersonVo.getUserName());
|
||||
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);
|
||||
}
|
||||
//设置指定的Date对象不设置默认返回当天的星期
|
||||
calendar.setTime(s.getScheduledStarttime());
|
||||
@@ -209,6 +225,9 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
private LambdaQueryWrapper<MeetBooking> buildQueryWrapper(MeetBookingBo bo) {
|
||||
LambdaQueryWrapper<MeetBooking> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(MeetBooking::getId);
|
||||
lqw.eq(ObjectUtil.isNotEmpty(bo.getPayState()), MeetBooking::getPayState, bo.getPayState());
|
||||
lqw.eq(ObjectUtil.isNotEmpty(bo.getState()), MeetBooking::getState, bo.getState());
|
||||
lqw.eq(ObjectUtil.isNotEmpty(bo.getPerson()), MeetBooking::getPerson, bo.getPerson());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getName()), MeetBooking::getName, bo.getName());
|
||||
lqw.eq(bo.getMeetId() != null, MeetBooking::getMeetId, bo.getMeetId());
|
||||
return lqw;
|
||||
@@ -284,21 +303,21 @@ public class MeetBookingServiceImpl implements IMeetBookingService {
|
||||
|
||||
@Override
|
||||
public List<Map<Object, Object>> getMeetBooking(String type) {
|
||||
return switch (type) {
|
||||
case "getMeetBookingPerson" -> getList().stream()
|
||||
.map(MeetBooking::getPerson)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.map(person -> {
|
||||
Map<Object, Object> map = new HashMap<>();
|
||||
map.put("value", person);
|
||||
map.put("name", person);
|
||||
return map;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
return switch (type) {
|
||||
case "getMeetBookingPerson" -> getList().stream()
|
||||
.map(MeetBooking::getPerson)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.map(person -> {
|
||||
Map<Object, Object> map = new HashMap<>();
|
||||
map.put("value", person);
|
||||
map.put("name", person);
|
||||
return map;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
default -> throw new IllegalArgumentException("Unknown type: " + type);
|
||||
};
|
||||
default -> throw new IllegalArgumentException("Unknown type: " + type);
|
||||
};
|
||||
}
|
||||
|
||||
public List<MeetBooking> getList() {
|
||||
|
@@ -1,6 +1,10 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -10,17 +14,18 @@ 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.MeetAttach;
|
||||
import org.dromara.property.domain.MeetBooking;
|
||||
import org.dromara.property.domain.vo.MeetAttachVo;
|
||||
import org.dromara.property.domain.vo.ResidentPersonVo;
|
||||
import org.dromara.property.mapper.MeetBookingMapper;
|
||||
import org.dromara.property.mapper.ResidentPersonMapper;
|
||||
import org.dromara.property.mapper.TbRoomMapper;
|
||||
import org.dromara.property.mapper.*;
|
||||
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.MeetBo;
|
||||
import org.dromara.property.domain.vo.MeetVo;
|
||||
import org.dromara.property.domain.Meet;
|
||||
import org.dromara.property.mapper.MeetMapper;
|
||||
import org.dromara.property.service.IMeetService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -29,6 +34,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -43,9 +49,12 @@ import java.util.stream.Collectors;
|
||||
public class MeetServiceImpl implements IMeetService {
|
||||
|
||||
private final MeetMapper baseMapper;
|
||||
private final MeetAttachMapper meetAttachMapper;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
private final TbRoomMapper roomMapper;
|
||||
private final MeetBookingMapper meetbookMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询会议室管理
|
||||
@@ -54,12 +63,17 @@ public class MeetServiceImpl implements IMeetService {
|
||||
* @return 会议室管理
|
||||
*/
|
||||
@Override
|
||||
public MeetVo queryById(Long id){
|
||||
MeetVo meetVo= baseMapper.selectVoById(id);
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(meetVo.getPrincipals());
|
||||
if(ObjectUtil.isNotEmpty(residentPersonVo)){
|
||||
meetVo.setPrincipalsName(residentPersonVo.getUserName());
|
||||
meetVo.setPhoneNo(residentPersonVo.getPhone());
|
||||
public MeetVo queryById(Long id) {
|
||||
MeetVo meetVo = baseMapper.selectVoById(id);
|
||||
// ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(meetVo.getPrincipals());
|
||||
// if(ObjectUtil.isNotEmpty(residentPersonVo)){
|
||||
// meetVo.setPrincipalsName(residentPersonVo.getUserName());
|
||||
// meetVo.setPhoneNo(residentPersonVo.getPhone());
|
||||
// }
|
||||
RemoteUserVo userInfo = remoteUserService.getUserInfoById(Long.valueOf(meetVo.getPrincipals()));
|
||||
if (ObjectUtil.isNotEmpty(userInfo)) {
|
||||
meetVo.setPrincipalsName(userInfo.getNickName());
|
||||
meetVo.setPhoneNo(userInfo.getPhonenumber());
|
||||
}
|
||||
String locationName = roomMapper.queryRoomName(Long.valueOf(meetVo.getLocation()));
|
||||
meetVo.setLocationName(locationName);
|
||||
@@ -90,19 +104,17 @@ public class MeetServiceImpl implements IMeetService {
|
||||
public List<MeetVo> queryList(MeetBo bo) {
|
||||
//查询当前日期和当前时间段会议记录表的会议id
|
||||
LambdaQueryWrapper<MeetBooking> bookLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
String[] times = bo.getOpenHours().split("-");
|
||||
String openStartTimeStr = times[0];
|
||||
String openEndTimeStr = times[1];
|
||||
LocalDate appointmentTime = LocalDate.parse(bo.getAppointmentTime());
|
||||
LocalTime startTime = LocalTime.parse(openStartTimeStr, DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime EndTime = LocalTime.parse(openEndTimeStr, DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalDateTime startDateTime = LocalDateTime.of(appointmentTime, startTime );
|
||||
LocalTime startTime = LocalTime.parse(bo.getOpenEndHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime EndTime = LocalTime.parse(bo.getOpenEndHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalDateTime startDateTime = LocalDateTime.of(appointmentTime, startTime);
|
||||
LocalDateTime endDateTime = LocalDateTime.of(appointmentTime, EndTime);
|
||||
bookLambdaQueryWrapper.ge(MeetBooking::getScheduledStarttime, startDateTime)
|
||||
bookLambdaQueryWrapper
|
||||
.ge(MeetBooking::getScheduledStarttime, startDateTime)
|
||||
.le(MeetBooking::getScheduledEndtime, endDateTime);
|
||||
List<MeetBooking> meetBookings = meetbookMapper.selectList(bookLambdaQueryWrapper);
|
||||
List<Long> meetIdList = meetBookings.stream().map(MeetBooking::getMeetId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<Meet> lqw = buildQueryListWrapper(bo,meetIdList);
|
||||
LambdaQueryWrapper<Meet> lqw = buildQueryListWrapper(bo, meetIdList);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
@@ -111,31 +123,32 @@ public class MeetServiceImpl implements IMeetService {
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
private LambdaQueryWrapper<Meet> buildQueryListWrapper(MeetBo bo,List<Long> meetIdList) {
|
||||
private LambdaQueryWrapper<Meet> buildQueryListWrapper(MeetBo bo, List<Long> meetIdList) {
|
||||
LambdaQueryWrapper<Meet> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(Meet::getId);
|
||||
lqw.like(StringUtils.isNotBlank(bo.getName()), Meet::getName, bo.getName());
|
||||
lqw.notIn(ObjectUtil.isNotEmpty(meetIdList),Meet::getId,meetIdList);
|
||||
lqw.notIn(ObjectUtil.isNotEmpty(meetIdList), Meet::getId, meetIdList);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), Meet::getLocation, bo.getLocation());
|
||||
lqw.le(bo.getPersonNumber() != null, Meet::getPersonNumber, bo.getPersonNumber());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getMeetingRoomType()), Meet::getMeetingRoomType, bo.getMeetingRoomType());
|
||||
lqw.ge(bo.getPersonNumber() != null, Meet::getPersonNumber, bo.getPersonNumber());
|
||||
lqw.eq(bo.getBaseService() != null, Meet::getBaseService, bo.getBaseService());
|
||||
if (StringUtils.isNotBlank(bo.getOpenHours())) {
|
||||
String[] times = bo.getOpenHours().split("-");
|
||||
if (times.length == 2) {
|
||||
String openStartTimeStr = times[0];
|
||||
String openEndTimeStr = times[1];
|
||||
|
||||
String nowTime = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm"));
|
||||
if (nowTime.compareTo(openStartTimeStr) >= 0 && nowTime.compareTo(openEndTimeStr) <= 0) {
|
||||
lqw.ge(Meet::getOpenHours, openStartTimeStr)
|
||||
.le(Meet::getOpenHours, openEndTimeStr);
|
||||
}
|
||||
}
|
||||
// 修复:正确处理时间段重叠逻辑
|
||||
// 查询条件时间段与数据库存储时间段有重叠的会议室
|
||||
if (bo.getOpenStartHours() != null && bo.getOpenEndHours() != null) {
|
||||
LocalTime queryStartTime = LocalTime.parse(bo.getOpenStartHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime queryEndTime = LocalTime.parse(bo.getOpenEndHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
|
||||
// 时间段重叠条件: dbStart <= queryEnd AND dbEnd >= queryStart
|
||||
lqw.le(Meet::getOpenStartHours, queryEndTime)
|
||||
.ge(Meet::getOpenEndHours, queryStartTime);
|
||||
}
|
||||
|
||||
lqw.eq(bo.getBasePrice() != null, Meet::getBasePrice, bo.getBasePrice());
|
||||
lqw.eq(bo.getAttach() != null, Meet::getAttach, bo.getAttach());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<Meet> buildQueryWrapper(MeetBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<Meet> lqw = Wrappers.lambdaQuery();
|
||||
@@ -151,7 +164,6 @@ public class MeetServiceImpl implements IMeetService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增会议室管理
|
||||
*
|
||||
@@ -162,6 +174,7 @@ public class MeetServiceImpl implements IMeetService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(MeetBo bo) {
|
||||
Meet add = MapstructUtils.convert(bo, Meet.class);
|
||||
bo.setStatus(0);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
@@ -189,7 +202,7 @@ public class MeetServiceImpl implements IMeetService {
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void validEntityBeforeSave(Meet entity){
|
||||
public void validEntityBeforeSave(Meet entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -203,16 +216,21 @@ public class MeetServiceImpl implements IMeetService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
boolean exists = meetAttachMapper.exists(new LambdaQueryWrapper<MeetAttach>().in(MeetAttach::getMeetId, ids));
|
||||
Assert.isTrue(!exists, "会议室具有增值服务,不允许单独删除");
|
||||
boolean meetbookExists = meetbookMapper.exists(new LambdaQueryWrapper<MeetBooking>().in(MeetBooking::getMeetId, ids));
|
||||
Assert.isTrue(!meetbookExists, "会议室具有预约记录,不允许单独删除");
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉接口数据
|
||||
*/
|
||||
@Override
|
||||
public List<Map<Object, Object>> getMeetSelectDate(String type){
|
||||
public List<Map<Object, Object>> getMeetSelectDate(String type) {
|
||||
switch (type) {
|
||||
case "getMeetName":
|
||||
List<Map<Object, Object>> result = new ArrayList<>();
|
||||
@@ -239,7 +257,8 @@ public class MeetServiceImpl implements IMeetService {
|
||||
throw new IllegalArgumentException("Unknown type: " + type);
|
||||
}
|
||||
}
|
||||
public List<Meet> getList(){
|
||||
|
||||
public List<Meet> getList() {
|
||||
LambdaQueryWrapper<Meet> meetQueryWrapper = new LambdaQueryWrapper<>();
|
||||
return baseMapper.selectList(meetQueryWrapper);
|
||||
|
||||
|
@@ -159,6 +159,7 @@ public class PlantsPlanProductServiceImpl implements IPlantsPlanProductService {
|
||||
|
||||
/**
|
||||
* 查询租赁方案植物数据
|
||||
*
|
||||
* @param planId
|
||||
* @return
|
||||
*/
|
||||
@@ -166,4 +167,17 @@ public class PlantsPlanProductServiceImpl implements IPlantsPlanProductService {
|
||||
public List<PlantsPlanProductVo> queryPlanProductsInfo(Long planId) {
|
||||
return baseMapper.queryProductsInfo(planId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据方案id删除方案产品
|
||||
*
|
||||
* @param ids 方案id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByPlanIds(List<Long> ids) {
|
||||
if (CollectionUtils.isNotEmpty(ids)) {
|
||||
baseMapper.deleteByPlanIds(ids);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -25,6 +25,7 @@ import org.dromara.property.domain.vo.PlantsRentalPlanVo;
|
||||
import org.dromara.property.domain.PlantsRentalPlan;
|
||||
import org.dromara.property.mapper.PlantsRentalPlanMapper;
|
||||
import org.dromara.property.service.IPlantsRentalPlanService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -166,6 +167,7 @@ public class PlantsRentalPlanServiceImpl implements IPlantsRentalPlanService {
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
PlantsRentalOrderBo plantsRentalOrderBo = new PlantsRentalOrderBo();
|
||||
@@ -174,6 +176,8 @@ public class PlantsRentalPlanServiceImpl implements IPlantsRentalPlanService {
|
||||
if(CollectionUtils.isNotEmpty(plantsRentalOrderVos)){
|
||||
throw new ServiceException("当前选中租赁方案不可删除");
|
||||
}
|
||||
//删除方案产品数据
|
||||
planProductService.deleteByPlanIds(ids.stream().toList());
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user