From b81c72d58016bb15d2d47331da258e621245cfb5 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 03 十二月 2024 16:22:40 +0800
Subject: [PATCH] 客户资料 巡检任务业务
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 24 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 47 ++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java | 7
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java | 21 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java | 6
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java | 9 +
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java | 16 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java | 13 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java | 19 +-
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java | 33 +++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java | 10 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java | 20 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java | 31 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 24 +-
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java | 32 +++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceDataVO.java | 32 +++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java | 22 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java | 33 +++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java | 41 ++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 17 +
33 files changed, 429 insertions(+), 79 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 56af6c6..50b0d9d 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1359,12 +1359,12 @@
* 鎿嶄綔绫诲瀷 0宸ュ崟鍒涘缓 1鎸囨淳 2澶勭悊 3鍚堝悓鍒涘缓 4鍚堝悓鍙樻洿 5鍚堝悓閫�绉�
*/
public enum YwLogType{
- WORKORDER_CREATE(0, "宸ュ崟鍒涘缓", "宸ュ崟鍒涘缓"),
- WORKORDER_DISPATCH(1, "宸ュ崟鎸囨淳", "宸ュ崟鎸囨淳"),
- WORKORDER_DEAL(2, "宸ュ崟澶勭悊 ", "宸ュ崟澶勭悊 "),
- CONTRACT_CREATE(3, "鍚堝悓鏂板缓 ", "鏂板缓 "),
- CONTRACT_UPDATE(4, "鍚堝悓鍙樻洿 ", "鍙樻洿 "),
- CONTRACT_BACK(5, "鍚堝悓閫�绉� ", "閫�绉� "),
+ WORKORDER_CREATE(0, "鍒涘缓宸ュ崟", "鍒涘缓宸ュ崟"),
+ WORKORDER_DISPATCH(1, "鍒嗘淳宸ュ崟", "鍒嗘淳宸ュ崟"),
+ WORKORDER_DEAL(2, "澶勭悊宸ュ崟", "澶勭悊宸ュ崟"),
+ CONTRACT_CREATE(3, "鍚堝悓鏂板缓", "鏂板缓"),
+ CONTRACT_UPDATE(4, "鍚堝悓鍙樻洿", "鍙樻洿"),
+ CONTRACT_BACK(5, "鍚堝悓閫�绉�", "閫�绉�"),
;
// 鎴愬憳鍙橀噺
@@ -1423,4 +1423,16 @@
}
+
+ //閭鏍煎紡鐨勯獙璇�
+ public static boolean validEmail(String email) {
+ Pattern p = Pattern.compile("[a-zA-Z0-9]+@[A-Za-z0-9]+\\.[a-z0-9]");
+ Matcher m = p.matcher(email);
+ if(m.find()){
+ return true;
+ } else {
+ return false;
+ }
+ }
+
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java
index f49f495..f3a191f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java
@@ -70,6 +70,15 @@
return ApiResponse.success(null);
}
+ @ApiOperation("鏇存柊鐘舵��")
+ @PostMapping("/updateStatusById")
+ @CloudRequiredPermission("business:ywpatrolline:update")
+ public ApiResponse updateStatusById(@RequestBody YwPatrolLine ywPatrolLine,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ ywPatrolLine.setLoginUserInfo(this.getLoginUser(token));
+ ywPatrolLineService.updateStatusById(ywPatrolLine);
+ return ApiResponse.success(null);
+ }
+
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@CloudRequiredPermission("business:ywpatrolline:query")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
index ad901bc..8e9b33e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
@@ -92,8 +92,6 @@
}
}
-
-
ExcelExporter.build(YwPatrolTask.class).export(ywPatrolTaskService.findPage(pageWrap).getRecords(), "杩愮淮宸℃浠诲姟淇℃伅琛�", response);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java
index c04cf08..57fd3dd 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java
@@ -3,12 +3,17 @@
import com.alibaba.fastjson.JSONObject;
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.FtpUtil;
import com.doumee.core.utils.aliyun.ALiYunUtil;
+import com.doumee.dao.business.YwDeviceMapper;
+import com.doumee.dao.business.vo.YwDeviceDataVO;
+import com.doumee.service.business.YwDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -28,10 +33,8 @@
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
+import java.util.List;
/**
* @author Eva.Caesar Liu
@@ -48,6 +51,16 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private YwDeviceService ywDeviceService;
+
+ @ApiOperation("鑾峰彇杩愮淮璁惧鎯呭喌")
+ @GetMapping("/getDeviceData")
+ public ApiResponse<YwDeviceDataVO> getDeviceData() {
+ return ApiResponse.success(ywDeviceService.getYwDeviceData());
+ }
+
+
@ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
@ApiImplicitParams({
@ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
index da312b2..0da0eea 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
@@ -102,13 +102,13 @@
@ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
private Integer projectId;
+ @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
+ @TableField(exist = false)
+ private Integer roomRentNum;
@ApiModelProperty(value = "鎴挎簮鏁�")
@TableField(exist = false)
private Integer roomNum;
@ApiModelProperty(value = "椤圭洰鍚嶇О")
@TableField(exist = false)
private String projectName;
- @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
- @TableField(exist = false)
- private Integer roomeRentNum;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java
index b4cf96f..bc41654 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java
@@ -104,6 +104,11 @@
private String accountTitle;
+ @ApiModelProperty(value = "璐﹀崟绫诲瀷", example = "1" , hidden = true)
+ @TableField(exist = false)
+ private Integer billType;
+
+
@ApiModelProperty(value = "鍒涘缓浜哄悕绉�")
@ExcelColumn(name="鍒涘缓浜�",index = 9,width = 10)
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
index f9c5638..1ab32e6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
@@ -71,7 +71,7 @@
private String content;
@ApiModelProperty(value = "杩愮淮鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDate;
@ApiModelProperty(value = "璁惧鍚嶇О")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
index da2ec27..4f8b83a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -78,7 +78,7 @@
@ApiModelProperty(value = "澶勭悊澶囨敞")
private String dealInfo;
- @ApiModelProperty(value = "寰幆鍛ㄦ湡 0姣忓ぉ 1姣忓懆 2姣忓ぉ", example = "1")
+ @ApiModelProperty(value = "寰幆鍛ㄦ湡 0姣忓ぉ 1姣忓懆 2姣忔湀", example = "1")
private Integer circleType;
@ApiModelProperty(value = "寰幆閲嶅瑙勫垯 1-31锛屽涓嫳鏂囬�楀彿闅斿紑")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
index e093dac..69f6075 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
@@ -103,6 +103,11 @@
@TableField(exist = false)
private String userName;
+
+ @ApiModelProperty(value = "浠诲姟鐘舵�侊細澶氫釜浠�,鍒嗗壊 0寰呭紑濮� 1杩涜涓� 2宸茶秴鏈� 3宸插畬鎴� 4宸插彇娑�")
+ @TableField(exist = false)
+ private String queryStatus;
+
@ApiModelProperty(value = "璁″垝缂栧彿")
@ExcelColumn(name="璁″垝缂栧彿",index = 1,width = 6)
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
index dd0675c..57bd3da 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
@@ -10,6 +10,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
import java.util.Date;
/**
@@ -81,7 +83,10 @@
private Integer roomNum;
@ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
@TableField(exist = false)
- private Integer roomeRentNum;
+ private Integer roomRentNum;
+ @ApiModelProperty(value = "绠$悊闈㈢Н")
+ @TableField(exist = false)
+ private BigDecimal area;
@ApiModelProperty(value = "鍩庡競鍚嶇О")
@TableField(exist = false)
private String cityName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
index 8474876..8dee35e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
@@ -106,6 +106,10 @@
@ExcelColumn(name="鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)")
private Integer buildingId;
+ @ApiModelProperty(value = "绉熻祦鐘舵�侊細0=寰呯璧侊紱1=宸茬璧� ;2=鏈紑鍚璧�", example = "1")
+ @TableField(exist = false)
+ private Integer leaseStatus;
+
@ApiModelProperty(value = "椤圭洰鍚嶇О")
@TableField(exist = false)
private String projectName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
index 708a111..e0c3601 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -35,7 +35,7 @@
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
@ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
@@ -73,7 +73,7 @@
@ApiModelProperty(value = "涓婇棬鏃堕棿")
@ExcelColumn(name="涓婇棬鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date getDate;
@ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)", example = "1")
@@ -101,7 +101,7 @@
@ApiModelProperty(value = "鎻愭姤鏃堕棿")
@ExcelColumn(name="鎻愭姤鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date submitDate;
@ApiModelProperty(value = "宸ュ崟鍒嗙被缂栫爜(鍏宠仈category锛�", example = "1")
@@ -126,7 +126,7 @@
@ApiModelProperty(value = "鍒嗘淳鏃堕棿")
@ExcelColumn(name="鍒嗘淳鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dispatchDate;
@ApiModelProperty(value = "鍒嗘淳澶勭悊璇存槑")
@@ -139,7 +139,7 @@
@ApiModelProperty(value = "澶勭悊鏃堕棿")
@ExcelColumn(name="澶勭悊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDate;
@ApiModelProperty(value = "澶勭悊澶囨敞")
@@ -152,6 +152,10 @@
@ApiModelProperty(value = "椤圭洰鍚嶇О")
@TableField(exist = false)
private String projectName;
+
+ @ApiModelProperty(value = "浠诲姟鐘舵�侊細澶氫釜浠�,鍒嗗壊 0寰呭鐞� 1宸插垎娲� 2宸插鐞�")
+ @TableField(exist = false)
+ private String queryStatus;
@ApiModelProperty(value = "妤煎畤鍚嶇О")
@TableField(exist = false)
@@ -168,9 +172,15 @@
@ApiModelProperty(value = "鎻愭姤浜哄鍚�")
@TableField(exist = false)
private String creatorName;
+ @ApiModelProperty(value = "鎻愭姤浜虹數璇�")
+ @TableField(exist = false)
+ private String creatorMobile;
@ApiModelProperty(value = "澶勭悊浜哄鍚�")
@TableField(exist = false)
private String dealUserName;
+ @ApiModelProperty(value = "澶勭悊浜虹粍缁�")
+ @TableField(exist = false)
+ private String dealUserCompany;
@ApiModelProperty(value = "绫诲埆鍚嶇О")
@TableField(exist = false)
private String categoryName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceDataVO.java
new file mode 100644
index 0000000..319e8f3
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceDataVO.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/12/2 10:02
+ */
+@Data
+public class YwDeviceDataVO {
+
+ @ApiModelProperty(value = "璁惧鎬绘暟", example = "1")
+ private Integer totalNum = 0 ;
+
+ @ApiModelProperty(value = "鍦ㄤ繚璁惧鏁�", example = "1")
+ private Integer qualityNum = 0 ;
+
+ @ApiModelProperty(value = "姝e父璁惧鏁�", example = "1")
+ private Integer normalNum = 0 ;
+
+ @ApiModelProperty(value = "鎹熷潖璁惧鏁�", example = "1")
+ private Integer abnormalNum = 0 ;
+
+ @ApiModelProperty(value = "鎶ュ簾璁惧鎬绘暟", example = "1")
+ private Integer scrapNum = 0 ;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
index 8a27715..4e5501e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
@@ -4,6 +4,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.vo.YwDeviceDataVO;
+
import java.util.List;
/**
@@ -97,4 +99,8 @@
long count(YwDevice ywDevice);
YwDevice getDetail(Integer id);
+
+
+ YwDeviceDataVO getYwDeviceData();
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java
index 658c5eb..2e28408 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java
@@ -50,6 +50,13 @@
void updateById(YwPatrolLine ywPatrolLine);
/**
+ * 鏇存柊鐘舵��
+ * @param ywPatrolLine
+ */
+ void updateStatusById(YwPatrolLine ywPatrolLine);
+
+
+ /**
* 鎵归噺涓婚敭鏇存柊
*
* @param ywPatrolLines 瀹炰綋闆�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index 6de45a4..bdbf056 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -191,6 +191,7 @@
private void checkUnique(Category category){
QueryWrapper<Category> wrapper = new QueryWrapper<>();
wrapper.lambda()
+ .eq(Objects.nonNull(category.getId()),Category::getId,category.getId())
.eq(Category::getIsdeleted,Constants.ZERO)
.eq(Category::getType,category.getType())
.eq(Category::getName,category.getName());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index f8c6d15..ad6f19c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2118,6 +2118,9 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ if(StringUtils.isNotBlank(member.getEmail())&&!Constants.validEmail(member.getEmail())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇峰~鍐欐纭殑email");
+ }
LoginUserInfo loginUserInfo = member.getLoginUserInfo();
member.setCreator(loginUserInfo.getId());
member.setCreateDate(new Date());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
index b5003c3..612f09e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -8,8 +8,10 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwBuildingMapper;
+import com.doumee.dao.business.YwFloorMapper;
import com.doumee.dao.business.YwProjectMapper;
import com.doumee.dao.business.model.YwBuilding;
+import com.doumee.dao.business.model.YwFloor;
import com.doumee.dao.business.model.YwProject;
import com.doumee.service.business.YwBuildingService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -36,6 +38,8 @@
private YwBuildingMapper ywBuildingMapper;
@Autowired
private YwProjectMapper ywProjectMapper;
+ @Autowired
+ private YwFloorMapper ywFloorMapper;
@Override
public Integer create(YwBuilding model) {
@@ -58,6 +62,12 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+ //鏌ヨ妤煎畤涓嬬殑鏁版嵁
+ if(ywFloorMapper.selectCount(new QueryWrapper<YwFloor>().lambda().eq(YwFloor::getIsdeleted,Constants.ZERO)
+ .eq(YwFloor::getBuildingId,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"妤煎畤涓瓨鍦ㄦゼ灞傛暟鎹�!");
+ };
+
YwBuilding model = new YwBuilding();
model.setId(id);
model.setEditDate(new Date());
@@ -101,7 +111,17 @@
@Override
public YwBuilding findById(Integer id) {
- return ywBuildingMapper.selectById(id);
+
+
+ MPJLambdaWrapper<YwBuilding> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(YwBuilding.class )
+ .selectAs(YwProject::getName,YwBuilding::getProjectName)
+ .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId)
+ .eq(YwBuilding::getId,id)
+ .last(" limit 1 ")
+ ;
+
+ return ywBuildingMapper.selectJoinOne(YwBuilding.class, queryWrapper);
}
@Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
index 8843a63..cdfdf12 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
@@ -30,10 +30,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -392,6 +389,7 @@
IPage<YwContractRevenue> iPage = ywContractRevenueMapper.selectJoinPage(page,YwContractRevenue.class,
queryWrapper.selectAll(YwContractRevenue.class)
.selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode)
+ .selectAs(YwContractBill::getType,YwContractRevenue::getBillType)
.selectAs(YwContract::getCode,YwContractRevenue::getContractCode)
.selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName)
.selectAs(SystemUser::getRealname,YwContractRevenue::getRealname)
@@ -418,6 +416,17 @@
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){
StringBuilder roomPathName = new StringBuilder();
for (YwContractRoom ywContractRoom:ywContractRoomList) {
+ if(Constants.equalsInteger(ywContractRevenue.getBillType(),Constants.ZERO)){
+ if(!(Constants.equalsInteger(ywContractRevenue.getContractId(),ywContractRoom.getContractId())
+ && Constants.equalsInteger(ywContractRoom.getType(),Constants.ZERO))){
+ continue;
+ }
+ }else{
+ if(!(Constants.equalsInteger(ywContractRevenue.getBillId(),ywContractRoom.getContractId())
+ && Constants.equalsInteger(ywContractRoom.getType(),Constants.ONE))){
+ continue;
+ }
+ }
if(StringUtils.isNotBlank(ywContractRoom.getProjectName())){
roomPathName.append(ywContractRoom.getProjectName()+"/");
}
@@ -447,24 +456,30 @@
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRevenueList)){
//鑾峰彇鎵�鏈夋暟鎹�
List<Integer> billIdList = ywContractRevenueList.stream().map(i->i.getBillId()).collect(Collectors.toList());
+ List<Integer> contractIdList = ywContractRevenueList.stream().map(i->i.getContractId()).collect(Collectors.toList());
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(billIdList)){
List<YwContractRoom> ywContractRoomList = ywContractRoomMapper.selectJoinList(YwContractRoom.class,new MPJLambdaWrapper<YwContractRoom>()
.selectAll(YwContractRoom.class)
.selectAs(YwProject::getName,YwRoom::getProjectName)
.selectAs(YwFloor::getName,YwRoom::getFloorName)
.selectAs(YwBuilding::getName,YwRoom::getBuildingName)
- .selectAs(YwRoom::getName,YwContractRoom::getRoomName)
+ .selectAs(YwRoom::getCode,YwContractRoom::getRoomName)
.leftJoin(YwRoom.class,YwRoom::getId,YwContractRoom::getRoomId)
.leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor)
.leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
.leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId)
- .in(YwContractRoom::getContractId,billIdList)
- .eq(YwContractRoom::getType,Constants.ONE)
+ .and(i->i.in(YwContractRoom::getContractId,billIdList).eq(YwContractRoom::getType,Constants.ONE)
+ .or().in(YwContractRoom::getContractId,contractIdList).eq(YwContractRoom::getType,Constants.ZERO)
+ )
+// .in(YwContractRoom::getContractId,billIdList)
+// .eq(YwContractRoom::getType,Constants.ONE)
);
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){
for (YwContractRevenue ywContractRevenue:ywContractRevenueList) {
ywContractRevenue.setYwContractRoomList(
- ywContractRoomList.stream().filter(i->Constants.equalsInteger(i.getContractId(),ywContractRevenue.getBillId())).collect(Collectors.toList())
+ ywContractRoomList.stream().filter(i->
+ Constants.equalsInteger(i.getContractId(),ywContractRevenue.getBillId())||Constants.equalsInteger(i.getContractId(),ywContractRevenue.getContractId()))
+ .collect(Collectors.toList())
);
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
index 4795aa6..002e6bd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -87,7 +87,6 @@
dealMultifileBiz(model);//澶勭悊闄勪欢淇℃伅
dealRoomsForContract(model);//澶勭悊鎴挎簮鍏宠仈琛�
dealLogBiz(model,Constants.YwLogType.CONTRACT_CREATE,model.getLoginUserInfo().getRealname(),"銆�"+model.getRemark().replace("鍚堝悓鎽樿锛�","")+"銆�");//璁板綍鏂板缓鏃ュ織
-
return model.getId();
}
@@ -194,7 +193,7 @@
}
for(YwContractDetail d :model.getWyDetailList()){
if( d.getStartDate() == null
- ||d.getEditDate() == null
+ ||d.getEndDate() == null
||d.getPrice() == null
||d.getCircleType() == null
|| d.getCircleType()>6
@@ -237,9 +236,9 @@
String str = "";
//璧风鏃�2024/06/01锛岀璧佹暟涓�500銕°�傞鏈熺璧佷笁鏈堜竴浠橈紝绉熼噾鍗曚环35鍏�/銕÷锋湀銆傞鏈熺墿涓氫笁鏈堜竴浠橈紝鐗╀笟鍗曚环4.3鍏�/銕÷锋湀
- String str0 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岀璧佹暟涓簕param2}銕°�傞鏈熺璧亄param3}锛岀閲戝崟浠穥param4}鍏儃param5}銆傞鏈熺墿涓歿param6}锛岀墿涓氬崟浠穥param7}{param8}";
- String str1 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岀璧佹暟涓簕param2}銕°�傞鏈熺璧亄param3}锛岀閲戝崟浠穥param4}鍏儃param5}銆�";
- String str2 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岄鏈熺墿涓歿param6}锛岀墿涓氬崟浠穥param7}鍏儃param8}";
+ String str0 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岀璧佹暟涓簕param2}銕°�傞鏈熺璧亄param3}锛岀閲戝崟浠穥param4}{param5}銆傞鏈熺墿涓歿param6}锛岀墿涓氬崟浠穥param7}{param8}";
+ String str1 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岀璧佹暟涓簕param2}銕°�傞鏈熺璧亄param3}锛岀閲戝崟浠穥param4}{param5}銆�";
+ String str2 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岄鏈熺墿涓歿param6}锛岀墿涓氬崟浠穥param7}{param8}";
if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
str= str0;
}
@@ -253,10 +252,10 @@
.replace("{param2}",model.getTotalArea().intValue()+"")
.replace("{param3}",Constants.getPayTypeByNum(model.getZlPayType()))
.replace("{param4}",Constants.formatBigdecimal(model.getZlFirstPrice()).intValue()+"")
- .replace("{param5}",Constants.getUnitTypeByNum(model.getZlFirstCircle())
+ .replace("{param5}",Constants.getUnitTypeByNum(model.getZlFirstCircle()))
.replace("{param6}",Constants.getPayTypeByNum(model.getWyPayType()))
.replace("{param7}",Constants.formatBigdecimal(model.getWyFirstPrice()).intValue()+"")
- .replace("{param8}",Constants.getUnitTypeByNum(model.getWyFirstCircle())));
+ .replace("{param8}",Constants.getUnitTypeByNum(model.getWyFirstCircle()));
return str;
}
private String getbackRentRemarkByParam(YwContract model) {
@@ -649,15 +648,12 @@
}
int num =1;
for(int i=0;i<billList1.size();i++){
- if(Constants.equalsInteger( billList1.get(i).getCostType(),Constants.ZERO)){
- billList1.get(i).setSortnum(num++);
- }
+ billList1.get(i).setSortnum(num);
+ num++;
}
- num =1;
for(int i=0;i<billList2.size();i++){
- if(Constants.equalsInteger( billList2.get(i).getCostType(),Constants.ONE)){
- billList2.get(i).setSortnum(num++);
- }
+ billList2.get(i).setSortnum(num);
+ num++;
}
if(model.getId()!=null){
ywContractBillMapper.insert(billList1);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
index 303b8f0..1fc2a89 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
@@ -61,6 +61,9 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
LoginUserInfo loginUserInfo = ywCustomer.getLoginUserInfo();
+ if(StringUtils.isNotBlank(ywCustomer.getEmail())&&!Constants.validEmail(ywCustomer.getEmail())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇峰~鍐欐纭殑email");
+ }
ywCustomer.setStatus(Constants.ZERO);
ywCustomer.setIsdeleted(Constants.ZERO);
ywCustomer.setCreator(loginUserInfo.getId());
@@ -108,6 +111,14 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+
+ //鏌ヨ瀹㈡埛淇℃伅涓嬫槸鍚﹀瓨鍦ㄤ汉鍛樹俊鎭�
+ if(memberMapper.selectCount(new QueryWrapper<Member>().lambda().eq(Member::getType,Constants.memberType.customer)
+ .eq(Member::getCustomerId,id)
+ .eq(Member::getIsdeleted,Constants.ZERO))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪浜哄憳淇℃伅鏈垹闄わ紝璇峰厛鍒犻櫎瀹㈡埛涓嬩汉鍛樹俊鎭�!");
+ }
+
ywCustomerMapper.deleteById(id);
}
@@ -122,6 +133,11 @@
if (CollectionUtils.isEmpty(ids)) {
return;
}
+ if(memberMapper.selectCount(new QueryWrapper<Member>().lambda().eq(Member::getType,Constants.memberType.customer)
+ .in(Member::getCustomerId,ids)
+ .eq(Member::getIsdeleted,Constants.ZERO))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪浜哄憳淇℃伅鏈垹闄わ紝璇峰厛鍒犻櫎瀹㈡埛涓嬩汉鍛樹俊鎭�!");
+ }
ywCustomerMapper.deleteBatchIds(ids);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
index fe1395d..7d19c2c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
@@ -125,6 +125,7 @@
.selectAs(SystemUser::getMobile,YwDeviceRecord::getMobile)
.selectAs(Company::getName,YwDeviceRecord::getCompanyName)
.selectAs(YwDevice::getName,YwDeviceRecord::getDeviceName)
+ .selectAs(YwDevice::getCode,YwDeviceRecord::getDeviceCode)
.leftJoin(SystemUser.class,SystemUser::getId,YwDeviceRecord::getUserId)
.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
.leftJoin(YwDevice.class,YwDevice::getId,YwDeviceRecord::getDeviceId)
@@ -132,7 +133,7 @@
.last(" limit 1 ")
);
List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
- .eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_RECORD_FILE));
+ .eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_RECORD_FILE.getKey()));
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifiles)) {
String path = systemDictDataBiz.queryByCode(Constants.FTP, Constants.FTP_RESOURCE_PATH).getCode()
+ systemDictDataBiz.queryByCode(Constants.FTP, Constants.YW_DEVICE).getCode();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
index 70cac05..2f9f45b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
@@ -10,11 +10,15 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwDeviceMapper;
+import com.doumee.dao.business.YwDeviceRecordMapper;
import com.doumee.dao.business.model.Category;
import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.model.YwDeviceRecord;
+import com.doumee.dao.business.vo.YwDeviceDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.YwDeviceRecordService;
import com.doumee.service.business.YwDeviceService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -31,6 +35,7 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 杩愮淮璁惧淇℃伅琛⊿ervice瀹炵幇
@@ -47,6 +52,8 @@
private SystemDictDataBiz systemDictDataBiz;
@Autowired
private MultifileMapper multifileMapper;
+ @Autowired
+ private YwDeviceRecordMapper ywDeviceRecordMapper;
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@@ -86,10 +93,15 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
- ywDeviceMapper.update(new UpdateWrapper<YwDevice>().lambda().set(YwDevice::getIsdeleted,Constants.ONE)
+ //鏌ヨ璁惧鏄惁瀛樺湪杩愮淮璁板綍
+ if(ywDeviceRecordMapper.selectCount(new QueryWrapper<YwDeviceRecord>().lambda().eq(YwDeviceRecord::getDeviceId,id).eq(YwDeviceRecord::getIsdeleted,Constants.ZERO))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璁惧瀛樺湪杩愮淮璁板綍锛屾棤娉曞垹闄�");
+ };
+ ywDeviceMapper.update(new UpdateWrapper<YwDevice>()
+ .lambda().set(YwDevice::getIsdeleted,Constants.ONE)
.set(YwDevice::getEditDate, DateUtil.getCurrDateTime())
.set(YwDevice::getEditor,user.getId())
- .eq(YwDevice::getId,user.getId())
+ .eq(YwDevice::getId,id)
);
}
@@ -161,7 +173,8 @@
@Override
public YwDevice getDetail(Integer id) {
YwDevice ywDevice = ywDeviceMapper.selectById(id);
- Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE).last(" limit 1"));
+ Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey()).last(" limit 1"));
if(Objects.nonNull(multifile)){
String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_DEVICE).getCode();
@@ -208,4 +221,26 @@
QueryWrapper<YwDevice> wrapper = new QueryWrapper<>(ywDevice);
return ywDeviceMapper.selectCount(wrapper);
}
+
+
+
+ @Override
+ public YwDeviceDataVO getYwDeviceData(){
+ YwDeviceDataVO ywDeviceDataVO = new YwDeviceDataVO();
+ List<YwDevice> ywDeviceList = ywDeviceMapper.selectList(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywDeviceList)){
+ ywDeviceDataVO.setQualityNum(ywDeviceList.size());
+ ywDeviceDataVO.setTotalNum(ywDeviceList.size());
+ ywDeviceDataVO.setNormalNum(ywDeviceList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ ywDeviceDataVO.setAbnormalNum(ywDeviceList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ ywDeviceDataVO.setScrapNum(ywDeviceList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size());
+ }
+ return ywDeviceDataVO;
+ }
+
+
+
}
+
+
+
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
index b3b74de..0f75d69 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
@@ -9,6 +9,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwBuildingMapper;
import com.doumee.dao.business.YwFloorMapper;
+import com.doumee.dao.business.YwRoomMapper;
import com.doumee.dao.business.model.YwBuilding;
import com.doumee.dao.business.model.YwFloor;
import com.doumee.dao.business.model.YwRoom;
@@ -36,6 +37,8 @@
private YwFloorMapper ywFloorMapper;
@Autowired
private YwBuildingMapper ywBuildingMapper;
+ @Autowired
+ private YwRoomMapper ywRoomMapper;
@Override
public Integer create(YwFloor model) {
@@ -59,6 +62,13 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+ //鏌ヨ妤煎眰涓嬬殑鏁版嵁
+ if(ywRoomMapper.selectCount(new QueryWrapper<YwRoom>().lambda().eq(YwRoom::getIsdeleted,Constants.ZERO)
+ .eq(YwRoom::getFloor,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"妤煎眰瀛樺湪鎴块棿鏁版嵁!");
+ };
+
+
YwFloor model = new YwFloor();
model.setId(id);
model.setEditDate(new Date());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java
index 76fb7ed..dde41ee 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java
@@ -1,11 +1,16 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwLinePointMapper;
+import com.doumee.dao.business.YwPatrolSchemeMapper;
import com.doumee.dao.business.model.YwLinePoint;
+import com.doumee.dao.business.model.YwPatrolScheme;
import com.doumee.service.business.YwLinePointService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -28,6 +33,7 @@
@Autowired
private YwLinePointMapper ywLinePointMapper;
+
@Override
public Integer create(YwLinePoint ywLinePoint) {
ywLinePointMapper.insert(ywLinePoint);
@@ -36,6 +42,7 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+
ywLinePointMapper.deleteById(id);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
index 51e298f..217d7c4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
@@ -9,6 +9,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwLinePointMapper;
import com.doumee.dao.business.YwPatrolLineMapper;
+import com.doumee.dao.business.YwPatrolSchemeMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.YwPatrolLineService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,9 +23,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 杩愮淮宸℃璺嚎淇℃伅琛⊿ervice瀹炵幇
@@ -40,6 +40,8 @@
@Autowired
private YwLinePointMapper ywLinePointMapper;
+ @Autowired
+ private YwPatrolSchemeMapper ywPatrolSchemeMapper;
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(YwPatrolLine ywPatrolLine) {
@@ -56,8 +58,12 @@
ywPatrolLine.setStatus(Constants.ZERO);
ywPatrolLineMapper.insert(ywPatrolLine);
//寰幆澶勭悊 瀛愰泦鏁版嵁
-
List<YwLinePoint> ywLinePointList = ywPatrolLine.getLinePointList();
+ //鏄惁瀛樺湪鐩稿悓鏁版嵁
+ Set<Integer> setIds = new HashSet<Integer>(ywLinePointList.stream().map(i->i.getPointId()).collect(Collectors.toList()));
+ if(setIds.size()!=ywLinePointList.size()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鐩稿悓宸℃鐐�!");
+ }
for (YwLinePoint ywLinePoint:ywLinePointList) {
if(Objects.isNull(ywLinePoint)
|| Objects.isNull(ywLinePoint.getPointId())
@@ -77,6 +83,11 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+ //鏌ヨ鏄惁瀛樺湪宸℃璁″垝
+ if(ywPatrolSchemeMapper.selectCount(new QueryWrapper<YwPatrolScheme>().lambda().eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
+ .eq(YwPatrolScheme::getLineId,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠宸℃绾胯矾宸茶浣跨敤锛屾棤娉曞垹闄�");
+ };
ywPatrolLineMapper.deleteById(id);
}
@@ -111,6 +122,11 @@
.eq(YwLinePoint::getLineId,ywPatrolLine.getId()));
//寰幆澶勭悊 瀛愰泦鏁版嵁
List<YwLinePoint> ywLinePointList = ywPatrolLine.getLinePointList();
+ //鏄惁瀛樺湪鐩稿悓鏁版嵁
+ Set<Integer> setIds = new HashSet<Integer>(ywLinePointList.stream().map(i->i.getLineId()).collect(Collectors.toList()));
+ if(setIds.size()!=ywLinePointList.size()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鐩稿悓宸℃鐐�!");
+ }
for (YwLinePoint ywLinePoint:ywLinePointList) {
if(Objects.isNull(ywLinePoint)
|| Objects.isNull(ywLinePoint.getPointId())
@@ -128,6 +144,15 @@
}
@Override
+ public void updateStatusById(YwPatrolLine ywPatrolLine) {
+ YwPatrolLine model = new YwPatrolLine();
+ model.setId(ywPatrolLine.getId());
+ model.setStatus(ywPatrolLine.getStatus());
+ ywPatrolLineMapper.updateById(model);
+ }
+
+
+ @Override
public void updateByIdInBatch(List<YwPatrolLine> ywPatrolLines) {
if (CollectionUtils.isEmpty(ywPatrolLines)) {
return;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java
index 06e51e0..548644c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java
@@ -161,12 +161,14 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,id)
- .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_POINT_FILE).last(" limit 1"));
+ .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_POINT_FILE.getKey()).orderByDesc(Multifile::getId).last(" limit 1"));
if(Objects.nonNull(multifile) && StringUtils.isNotBlank(multifile.getFileurl())){
String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
ywPatrolPoint.setFileFullUrl(path + multifile.getFileurl());
+ ywPatrolPoint.setFileUrl(multifile.getFileurl());
}
+
return ywPatrolPoint;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
index 6f532e1..3ac66ba 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -94,7 +94,9 @@
public void createThreeDaysData(YwPatrolScheme ywPatrolScheme){
//寰幆鐢熸垚涓夊ぉ鍐呯殑鏁版嵁
for (int i = 0; i < 3; i++) {
- Date schemeDate = DateUtil.getXDayAfterDate(new Date(),i);
+ Date schemeDate = DateUtil.getXDayAfterDate(
+ DateUtil.StringToDate(
+ DateUtil.getDate(new Date(),"yyyy-MM-dd"),"yyyy-MM-dd"),i);
this.createTask(schemeDate,ywPatrolScheme);
}
}
@@ -105,8 +107,8 @@
* @param ywPatrolScheme
*/
public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme){
- if(ywPatrolScheme.getStartDate().getTime() > schemeDate.getTime()
- || ywPatrolScheme.getEndDate().getTime() < schemeDate.getTime() ){
+ if(!(ywPatrolScheme.getStartDate().getTime() <= schemeDate.getTime()
+ && ywPatrolScheme.getEndDate().getTime() >= schemeDate.getTime()) ){
return;
}
if(Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ONE)){
@@ -116,16 +118,15 @@
return;
}
List<String> weeks = Arrays.asList(ywPatrolScheme.getCircleDays().split(","));
- String weekStr = weeks.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),week.getNumber())).findFirst().get();
- if(StringUtils.isBlank(weekStr)){
+ if(weeks.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),week.getNumber())).collect(Collectors.toList()).size()<=Constants.ZERO){
return;
}
- }else{
+
+ }else if(Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.TWO)){
//姣忔湀鏍规嵁鏃ユ湡鐢熸垚 鏍规嵁鏃ユ湡鑾峰彇鏄摢澶�
List<String> days = Arrays.asList(ywPatrolScheme.getCircleDays().split(","));
- String dayStr = DateUtil.getFomartDate(schemeDate,"dd");
- Optional<String> optional = days.stream().filter(i->StringUtils.equals(i,dayStr)).findAny();
- if(Objects.isNull(optional)){
+ Integer dayStr = Integer.valueOf(DateUtil.getFomartDate(schemeDate,"dd"));
+ if(days.stream().filter(i->i.equals(dayStr.toString())).collect(Collectors.toList()).size()<=Constants.ZERO){
return;
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
index 2c6f8d7..6fb3725 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -9,8 +9,7 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.YwContractRevenueMapper;
-import com.doumee.dao.business.YwPatrolTaskRecordMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
@@ -45,9 +44,17 @@
@Autowired
private MultifileMapper multifileMapper;
+ @Autowired
+ private YwDeviceMapper ywDeviceMapper;
+
+ @Autowired
+ private YwPatrolPointMapper ywPatrolPointMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private YwPatrolTaskMapper ywPatrolTaskMapper;
@@ -117,9 +124,12 @@
queryWrapper.selectAll(YwPatrolTaskRecord.class)
.selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
.selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+ .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
.leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
.leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
.eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
+ .eq(Objects.nonNull(model) && Objects.nonNull(model.getTaskId()),YwPatrolTaskRecord::getTaskId, model.getTaskId())
+ .eq(Objects.nonNull(model) && Objects.nonNull(model.getDealUserId()),YwPatrolTaskRecord::getDealUserId, model.getDealUserId())
.like(StringUtils.isNotBlank(model.getPointName()),YwPatrolPoint::getName,model.getPointName())
.eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()) , YwPatrolTaskRecord::getStatus,model.getStatus())
.orderByDesc(YwPatrolScheme::getCreateDate)
@@ -140,7 +150,7 @@
public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) {
if(Objects.isNull(ywPatrolTaskRecord)
|| Objects.isNull(ywPatrolTaskRecord.getId())
- || Objects.isNull(ywPatrolTaskRecord.getDealStatus())){
+ ){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
LoginUserInfo loginUserInfo = ywPatrolTaskRecord.getLoginUserInfo();
@@ -151,9 +161,23 @@
if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆");
}
-
+ YwPatrolPoint ywPatrolPoint = ywPatrolPointMapper.selectById(model.getPointId());
+ if(Objects.isNull(ywPatrolPoint)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ YwDevice ywDevice = ywDeviceMapper.selectById(ywPatrolPoint.getDeviceId());
+ if(Objects.isNull(ywDevice)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId());
+ if(Objects.isNull(ywPatrolTask)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌宸℃鏃堕棿鏃犳硶杩涜璇ユ搷浣�");
+ }
ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda()
- .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus())
+ .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus())
.set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId())
.set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime())
.set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime())
@@ -162,6 +186,19 @@
.set(YwPatrolTaskRecord::getDealInfo, ywPatrolTaskRecord.getDealInfo())
.eq(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()));
+ if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda()
+ .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId())
+ .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){
+ ywPatrolTask.setStatus(Constants.THREE);
+ }else{
+ ywPatrolTask.setStatus(Constants.ONE);
+ }
+ //鏌ヨ鏄惁瀛樺湪鍏朵粬鏈�
+ ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda().eq(YwPatrolTask::getId,ywPatrolTask.getId())
+ .set(YwPatrolTask::getStatus,ywPatrolTask.getStatus())
+ .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
+ .set(YwPatrolTask::getEditor,loginUserInfo.getId())
+ );
//闄勪欢鏁版嵁
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){
for (Multifile multifile:ywPatrolTaskRecord.getMultifileList()) {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
index 8ec0422..651d6f1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
@@ -94,6 +94,10 @@
.eq(YwPatrolTask::getId,id)
.last(" limit 1 "))
;
+ if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.TWO) &&
+ ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){
+ ywPatrolTask.setStatus(Constants.TWO);
+ }
return ywPatrolTask;
}
@@ -141,12 +145,21 @@
.leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTask::getDealUserId)
.leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
.eq(YwPatrolTask::getIsdeleted, Constants.ZERO)
+ .eq(Objects.nonNull(model.getStatus()) && !Constants.equalsInteger(model.getStatus(),Constants.TWO),YwPatrolTask::getStatus, model.getStatus())
+ .apply(Objects.nonNull(model.getStatus()) && Constants.equalsInteger(model.getStatus(),Constants.TWO)," t.status = 1 and t.END_DATE > now() ")
+ .apply(StringUtils.isNotBlank(model.getQueryStatus())," find_in_set(t.status ,'"+model.getQueryStatus()+"') ")
.like(StringUtils.isNotBlank(model.getPlanTitle()),YwPatrolScheme::getTitle,model.getPlanTitle())
.ge(Objects.nonNull(model.getStartDate()), YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
.le(Objects.nonNull(model.getEndDate()),YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
.orderByDesc(YwPatrolTask::getId)
;
IPage<YwPatrolTask> iPage = ywPatrolTaskMapper.selectJoinPage(page,YwPatrolTask.class,queryWrapper);
+ for (YwPatrolTask ywPatrolTask:iPage.getRecords()) {
+ if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.TWO) &&
+ ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){
+ ywPatrolTask.setStatus(Constants.TWO);
+ }
+ }
return PageData.from(iPage);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
index 7c9d35f..b5dfdb8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -1,5 +1,7 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
@@ -19,6 +21,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +31,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
/**
* 杩愮淮椤圭洰淇℃伅琛⊿ervice瀹炵幇
@@ -53,6 +57,15 @@
@Override
public Integer create(YwProject model) {
+ if(Objects.isNull(model)
+ || StringUtils.isBlank(model.getName())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(ywProjectMapper.selectCount(new QueryWrapper<YwProject>().lambda()
+ .eq(YwProject::getName,model.getName())
+ .eq(YwProject::getIsdeleted,Constants.ZERO))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+model.getName()+"銆戝凡瀛樺湪!");
+ }
model.setCreator(model.getLoginUserInfo().getId());
model.setIsdeleted(Constants.ZERO);
model.setCreateDate(new Date());
@@ -65,6 +78,11 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+ //鏌ヨ椤圭洰涓嬬殑鏁版嵁
+ if(ywBuildingMapper.selectCount(new QueryWrapper<YwBuilding>().lambda().eq(YwBuilding::getIsdeleted,Constants.ZERO)
+ .eq(YwBuilding::getProjectId,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"椤圭洰涓嬪瓨鍦ㄦゼ瀹囨暟鎹�!");
+ };
YwProject model = new YwProject();
model.setId(id);
model.setEditDate(new Date());
@@ -91,6 +109,17 @@
@Override
public void updateById(YwProject model) {
+ if(Objects.isNull(model)
+ || Objects.isNull(model.getId())
+ || StringUtils.isBlank(model.getName())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(ywProjectMapper.selectCount(new QueryWrapper<YwProject>().lambda()
+ .eq(YwProject::getName,model.getName())
+ .ne(YwProject::getId,model.getId())
+ .eq(YwProject::getIsdeleted,Constants.ZERO))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+model.getName()+"銆戝凡瀛樺湪!");
+ }
model.setEditDate(new Date());
model.setEditor(model.getLoginUserInfo().getId());
ywProjectMapper.updateById(model);
@@ -131,7 +160,8 @@
Utils.MP.blankToNull(pageWrap.getModel());
pageWrap.getModel().setIsdeleted(Constants.ZERO);
queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id) as roomNum"+
- ",(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id and a.IS_INVESTMENT=1) as roomRentNum");
+ ",(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id and a.IS_INVESTMENT=1) as roomRentNum," +
+ "( select ifnull(sum(a.RENT_AREA),0) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id ) as area");
if (pageWrap.getModel().getId() != null) {
queryWrapper.lambda().eq(YwProject::getId, pageWrap.getModel().getId());
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
index b41d0ca..8cf6dd7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
@@ -8,17 +8,17 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwBuildingMapper;
+import com.doumee.dao.business.YwContractRoomMapper;
import com.doumee.dao.business.YwRoomMapper;
-import com.doumee.dao.business.model.YwBuilding;
-import com.doumee.dao.business.model.YwFloor;
-import com.doumee.dao.business.model.YwProject;
-import com.doumee.dao.business.model.YwRoom;
+import com.doumee.dao.business.YwWorkorderMapper;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.YwRoomService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -38,6 +38,10 @@
private YwRoomMapper ywRoomMapper;
@Autowired
private YwBuildingMapper ywBuildingMapper;
+ @Autowired
+ private YwContractRoomMapper ywContractRoomMapper;
+ @Autowired
+ private YwWorkorderMapper ywWorkorderMapper;
@Override
public Integer create(YwRoom model) {
@@ -61,6 +65,16 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+ if(ywContractRoomMapper.selectCount(new QueryWrapper<YwContractRoom>()
+ .lambda().eq(YwContractRoom::getIsdeleted,Constants.ZERO)
+ .eq(YwContractRoom::getRoomId,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎴块棿淇℃伅宸蹭娇鐢�,鏃犳硶杩涜鍒犻櫎!");
+ };
+ if(ywWorkorderMapper.selectCount(new QueryWrapper<YwWorkorder>()
+ .lambda().eq(YwWorkorder::getIsdeleted,Constants.ZERO)
+ .eq(YwWorkorder::getRoomId,id))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎴块棿淇℃伅宸蹭娇鐢�,鏃犳硶杩涜鍒犻櫎!");
+ };
YwRoom model = new YwRoom();
model.setId(id);
model.setEditDate(new Date());
@@ -136,6 +150,9 @@
.selectAs(YwProject::getName,YwRoom::getProjectName)
.selectAs(YwFloor::getName,YwRoom::getFloorName)
.selectAs(YwBuilding::getName,YwRoom::getBuildingName)
+ .select(" select case when y1.status = 3 then now() BETWEEN y1.START_DATE and y1.BT_DATE else now() BETWEEN y1.START_DATE and y1.END_DATE END " +
+ "from yw_contract y1 left join yw_contract_room y2 on y1.id = y2.CONTRACT_ID and y2.TYPE = 0 " +
+ "where y1.`STATUS` <> 4 and y2.room_id = t.id order by y1.create_date desc limit 1 ",YwRoom::getLeaseStatus)
.leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
.leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId)
.leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor);
@@ -204,7 +221,13 @@
queryWrapper.eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId());
}
queryWrapper.orderByAsc(YwRoom::getRoomNum);
- return PageData.from(ywRoomMapper.selectJoinPage(page,YwRoom.class, queryWrapper));
+ IPage<YwRoom> iPage = ywRoomMapper.selectJoinPage(page,YwRoom.class, queryWrapper);
+ for (YwRoom ywRoom:iPage.getRecords()) {
+ if(Constants.equalsInteger(ywRoom.getIsInvestment(),Constants.ZERO)){
+ ywRoom.setLeaseStatus(Constants.TWO);
+ }
+ }
+ return PageData.from(iPage);
}
@Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
index 3d2b0b5..81d8e1e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -323,18 +323,25 @@
MPJLambdaWrapper<YwWorkorder> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(YwWorkorder.class )
.selectAs(SystemUser::getRealname,YwWorkorder::getDealUserName)
+ .selectAs(Company::getName,YwWorkorder::getDealUserCompany)
.select("t3.realname",YwWorkorder::getCreatorName)
+ .select("t3.mobile",YwWorkorder::getCreatorMobile)
+ .select("t9.name",YwWorkorder::getCreatorCompany)
.selectAs(Category::getName,YwWorkorder::getCategoryName)
.selectAs(YwRoom::getName,YwWorkorder::getRoomName)
.selectAs(YwRoom::getRoomNum,YwWorkorder::getRoomNum)
.selectAs(YwFloor::getName,YwWorkorder::getFloorName)
.selectAs(YwBuilding::getName,YwWorkorder::getBuildingName)
+ .selectAs(YwProject::getName,YwWorkorder::getProjectName)
.leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId)
.leftJoin(Category.class,Category::getId,YwWorkorder::getCateId)
.leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
.leftJoin(YwRoom.class,YwRoom::getId,YwWorkorder::getRoomId)
.leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId)
.leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId)
+ .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
+ .leftJoin(" company t9 on t9.id = t1.company_id ")
.eq(YwWorkorder::getId,id);
YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,queryWrapper);
initFiles(model);//璇诲彇闄勪欢淇℃伅
@@ -382,17 +389,22 @@
.leftJoin(YwRoom.class,YwRoom::getId,YwWorkorder::getRoomId)
.leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId)
.leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId)
- .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId);
+ .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId)
+ .apply(StringUtils.isNotBlank(pageWrap.getModel().getQueryStatus())," find_in_set(t.DEAL_STATUS ,'"+pageWrap.getModel().getQueryStatus()+"') ");
pageWrap.getModel().setIsdeleted(Constants.ZERO);
Utils.MP.blankToNull(pageWrap.getModel());
if (pageWrap.getModel().getId() != null) {
queryWrapper.eq(YwWorkorder::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getDispatchUserId() != null) {
+ queryWrapper.eq(YwWorkorder::getDispatchUserId, pageWrap.getModel().getDispatchUserId());
}
if(Objects.nonNull(pageWrap.getModel().getRoomName())){
queryWrapper.and(i->i.like(YwFloor::getName,pageWrap.getModel().getRoomName()).or()
.like(YwRoom::getRoomNum,pageWrap.getModel().getRoomName())
);
}
+
if (pageWrap.getModel().getCreator() != null) {
queryWrapper.eq(YwWorkorder::getCreator, pageWrap.getModel().getCreator());
}
@@ -460,9 +472,6 @@
}
if (pageWrap.getModel().getDealStatus() != null) {
queryWrapper.eq(YwWorkorder::getDealStatus, pageWrap.getModel().getDealStatus());
- }
- if (pageWrap.getModel().getDispatchUserId() != null) {
- queryWrapper.eq(YwWorkorder::getDispatchUserId, pageWrap.getModel().getDispatchUserId());
}
if (pageWrap.getModel().getDispatchDate() != null) {
queryWrapper.ge(YwWorkorder::getDispatchDate, Utils.Date.getStart(pageWrap.getModel().getDispatchDate()));
--
Gitblit v1.9.3