From 05ea8364f36fc6b385e97f4aecc9deb7d304f0b0 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 09 一月 2025 09:08:47 +0800
Subject: [PATCH] 客户资料 巡检任务业务
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java | 207 +++++++++-----
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java | 22 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 9
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java | 31 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java | 3
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java | 16 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java | 52 +++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java | 28 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java | 44 +++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java | 5
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java | 16 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java | 14
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java | 29 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java | 30 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java | 28 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java | 165 +++++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java | 25 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 27 +
27 files changed, 695 insertions(+), 97 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 f5ac3a4..29e590d 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
@@ -53,6 +53,7 @@
public static final String YW_PATROL ="YW_PATROL" ;
public static final String YW_CONTRACT_BILL ="YW_CONTRACT_BILL" ;
public static final String YW_MATERIAL ="YW_MATERIAL" ;
+ public static final String YW_PROBLEM ="YW_PROBLEM" ;
public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ;
public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ;
@@ -1388,6 +1389,7 @@
FN_PATROL_TASK_RECORD_FILE(11, "宸℃浠诲姟鐐瑰鐞嗛檮浠� ", "宸℃浠诲姟鐐瑰鐞嗛檮浠� "),
MATERIAL_FILE(12, "璧勪骇闄勪欢 ", "璧勪骇闄勪欢 "),
PROBLEM_FILE(13, "闂闄勪欢 ", "闂闄勪欢 "),
+ FN_DEVICE_MAINTENANCE_FILE(14, "闃滃畞鏈嶅姟骞冲彴璁惧鏂囦欢 ", "闃滃畞鏈嶅姟骞冲彴璁惧鏂囦欢 "),
;
// 鎴愬憳鍙橀噺
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
index ff55707..6c3738c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
@@ -8,6 +8,8 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.vo.YwDeviceCateDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
import com.doumee.service.business.YwDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -18,6 +20,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
/**
* @author 姹熻箘韫�
@@ -100,6 +103,17 @@
return ApiResponse.success(ywDeviceService.findByCode(deviceCode));
}
+ @ApiOperation("璁惧鏁伴噺鍒嗙被缁熻")
+ @PostMapping("/getDeviceCateData")
+ @CloudRequiredPermission("business:ywdevice:query")
+ public ApiResponse<Set<YwDeviceCateDataVO>> getDeviceCateData (@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywDeviceService.getDeviceCateData(ywDevice));
+ }
-
+ @ApiOperation("璁惧鐘舵�佺粺璁�")
+ @PostMapping("/getDeviceStatus")
+ @CloudRequiredPermission("business:ywdevice:query")
+ public ApiResponse<YwDeviceStatusDataVO> getDeviceStatus (@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywDeviceService.getDeviceStatus(ywDevice));
+ }
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java
index 310349f..54e6b7d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java
@@ -10,7 +10,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwProblem;
+import com.doumee.dao.business.model.YwWorkorder;
import com.doumee.service.business.YwProblemService;
+import com.doumee.service.business.impl.YwWorkorderServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -33,6 +35,8 @@
@Autowired
private YwProblemService ywProblemService;
+ @Autowired
+ private YwWorkorderServiceImpl ywWorkorderService;
@LoginNoRequired
@PreventRepeat
@ApiOperation("闂鎻愭姤")
@@ -41,10 +45,23 @@
return ApiResponse.success(ywProblemService.create(ywProblem));
}
+
+
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/editProblem")
+ @CloudRequiredPermission("business:ywproblem:update")
+ public ApiResponse editProblem(@RequestBody YwProblem ywProblem,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ ywProblem.setLoginUserInfo(getLoginUser(token));
+ ywProblemService.editProblem(ywProblem,ywWorkorderService);
+ return ApiResponse.success(null);
+ }
+
+
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
@CloudRequiredPermission("business:ywproblem:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
+ public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywProblemService.deleteById(id);
return ApiResponse.success(null);
}
@@ -52,7 +69,7 @@
@ApiOperation("鎵归噺鍒犻櫎")
@GetMapping("/delete/batch")
@CloudRequiredPermission("business:ywproblem:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
String [] idArray = ids.split(",");
List<Integer> idList = new ArrayList<>();
for (String id : idArray) {
@@ -65,7 +82,7 @@
@ApiOperation("鏍规嵁ID淇敼")
@PostMapping("/updateById")
@CloudRequiredPermission("business:ywproblem:update")
- public ApiResponse updateById(@RequestBody YwProblem ywProblem) {
+ public ApiResponse updateById(@RequestBody YwProblem ywProblem,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywProblemService.updateById(ywProblem);
return ApiResponse.success(null);
}
@@ -73,21 +90,21 @@
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@CloudRequiredPermission("business:ywproblem:query")
- public ApiResponse<PageData<YwProblem>> findPage (@RequestBody PageWrap<YwProblem> pageWrap) {
+ public ApiResponse<PageData<YwProblem>> findPage (@RequestBody PageWrap<YwProblem> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(ywProblemService.findPage(pageWrap));
}
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@CloudRequiredPermission("business:ywproblem:exportExcel")
- public void exportExcel (@RequestBody PageWrap<YwProblem> pageWrap, HttpServletResponse response) {
+ public void exportExcel (@RequestBody PageWrap<YwProblem> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ExcelExporter.build(YwProblem.class).export(ywProblemService.findPage(pageWrap).getRecords(), "杩愮淮闂涓婃姤淇℃伅琛�", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
@CloudRequiredPermission("business:ywproblem:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(ywProblemService.findById(id));
+ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywProblemService.getDetail(id));
}
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
index 792cdb9..2c44494 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
@@ -7,7 +7,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.dto.YwWorkorderDataDTO;
import com.doumee.dao.business.model.YwWorkorder;
+import com.doumee.dao.business.vo.YwWorkorderDataVO;
import com.doumee.service.business.YwWorkorderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -37,6 +39,7 @@
@CloudRequiredPermission("business:ywworkorder:create")
public ApiResponse create(@RequestBody YwWorkorder ywWorkorder,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywWorkorder.setLoginUserInfo(this.getLoginUser(token));
+ ywWorkorder.setOrigin(Constants.ZERO);
return ApiResponse.success(ywWorkorderService.create(ywWorkorder));
}
@@ -86,6 +89,19 @@
return ApiResponse.success(null);
}
+
+ @ApiOperation("鑾峰彇宸ュ崟鏁伴噺淇℃伅")
+ @PostMapping("/getDataVO")
+ @CloudRequiredPermission("business:ywworkorder:update")
+ public ApiResponse<YwWorkorderDataVO> getDataVO(@RequestBody YwWorkorderDataDTO dto,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ YwWorkorderDataVO ywWorkorderDataVO = ywWorkorderService.getDataVO(dto);
+ return ApiResponse.success(ywWorkorderDataVO);
+ }
+
+
+
+
+
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@CloudRequiredPermission("business:ywworkorder:query")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java
index 92b447a..c857dbb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwProblem;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwProblemMapper extends BaseMapper<YwProblem> {
+public interface YwProblemMapper extends MPJBaseMapper<YwProblem> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java
new file mode 100644
index 0000000..cb84c1f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:37
+ */
+@Data
+public class YwWorkorderDataDTO {
+
+
+ @ApiModelProperty(value = "鏌ヨ绫诲瀷锛�1=椤圭洰锛�2=妤煎眰锛�3=鎴块棿", example = "1")
+ private Integer queryType;
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭", example = "1")
+ private Integer queryId;
+
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
index 85292b5..d3b4719 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
@@ -202,6 +202,9 @@
@ExcelColumn(name="鐗╀笟璐规�婚噾棰�")
private BigDecimal wyTotalFee;
+ @ApiModelProperty(value = "鎴块棿涓婚敭 鏌ヨ浣跨敤")
+ @TableField(exist = false)
+ private Integer roomId;
@ApiModelProperty(value = "闄勪欢闆嗗悎")
@TableField(exist = false)
private List<Multifile> fileList;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
index 99f3efe..ef14ea2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
@@ -12,6 +12,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
+import java.util.List;
/**
* 杩愮淮璁惧淇℃伅琛�
@@ -94,9 +95,46 @@
@ExcelColumn(name="鎵�鍦ㄤ綅缃�")
private String addr;
+ @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)", example = "1")
+ private Integer projectId;
+
+ @ApiModelProperty(value = "鎵�灞炴ゼ灞傜紪鐮侊紙鍏宠仈yw_floor)", example = "1")
+ private Integer floorId;
+
+ @ApiModelProperty(value = "鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)", example = "1")
+ private Integer buildingId;
+
+ @ApiModelProperty(value = "鎵�灞炴埧闂寸紪鐮侊紙鍏宠仈yw_room)", example = "1")
+ private Integer roomId;
+
+
+ @ApiModelProperty(value = "渚涘簲鍟嗚仈绯讳汉")
+ private String supplierLinker;
+
+ @ApiModelProperty(value = "渚涘簲鍟嗚仈绯荤數璇�")
+ private String supplierPhone;
+
+ @ApiModelProperty(value = "缁翠繚浜哄憳涓婚敭锛堝叧鑱攕ystem_user锛�")
+ private Integer maintenanceUserId;
+
+ @ApiModelProperty(value = "缁翠繚鍒版湡鏃�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date maintenanceOverDate;
+
+ @ApiModelProperty(value = "缁翠繚璇存槑")
+ private String maintenanceContent;
+
@ApiModelProperty(value = "鍒嗙被鍚嶇О")
@TableField(exist = false)
private String categoryName;
+
+ @ApiModelProperty(value = "鐖剁骇鍒嗙被鍚嶇О")
+ @TableField(exist = false)
+ private String categoryParentName;
+
+ @ApiModelProperty(value = "鎵�灞炵埗绾у垎绫荤紪鐮侊紙鍏宠仈category锛�", example = "1")
+ @TableField(exist = false)
+ private Integer cateParentId;
@ApiModelProperty(value = "绠$悊鍛樺悕绉�")
@TableField(exist = false)
@@ -110,6 +148,12 @@
@TableField(exist = false)
private String fileFullUrl;
+ @ApiModelProperty(value = "闄勪欢淇℃伅")
+ @TableField(exist = false)
+ private List<Multifile> multifileList;
+
+
+
// @ApiModelProperty(value = "闄勪欢淇℃伅")
// @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java
index 5f23ec8..37e6303 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java
@@ -119,5 +119,13 @@
@TableField(exist = false)
private Integer projectId;
+ @ApiModelProperty(value = "妤煎畤涓婚敭", example = "1")
+ @TableField(exist = false)
+ private Integer buildingId;
+
+ @ApiModelProperty(value = "妤煎眰涓婚敭", example = "1")
+ @TableField(exist = false)
+ private Integer floorId;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
index d6ff2a8..ef8a041 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
@@ -119,4 +119,26 @@
@TableField(exist = false)
private List<Multifile> multifileList;
+
+ @ApiModelProperty(value = "宸℃璁″垝鍚嶇О")
+ @TableField(exist = false)
+ private String schemeTitle;
+
+ @ApiModelProperty(value = "宸℃浠诲姟缂栧彿")
+ @TableField(exist = false)
+ private String taskCode;
+
+ @ApiModelProperty(value = "寮�濮嬫棩鏈�")
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date startDate;
+
+ @ApiModelProperty(value = "缁撴潫鏃ユ湡")
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endDate;
+
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java
index d6ab8c4..8eae329 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
import com.doumee.dao.system.model.Multifile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -21,7 +22,7 @@
@Data
@ApiModel("杩愮淮闂涓婃姤淇℃伅琛�")
@TableName("`yw_problem`")
-public class YwProblem {
+public class YwProblem extends LoginUserModel {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
@@ -93,7 +94,7 @@
@ApiModelProperty(value = "澶勭悊鏃堕棿")
@ExcelColumn(name="澶勭悊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDate;
@ApiModelProperty(value = "澶勭悊澶囨敞")
@@ -111,4 +112,51 @@
@ApiModelProperty(value = "闄勪欢淇℃伅")
@TableField(exist = false)
private List<Multifile> fileList;
+
+ @ApiModelProperty(value = "澶勭悊浜哄悕绉�")
+ @TableField(exist = false)
+ private String dealUserName;
+
+ @ApiModelProperty(value = "澶勭悊浜虹粍缁囧悕绉�")
+ @TableField(exist = false)
+ private String dealUserCompanyName;
+
+ @ApiModelProperty(value = "澶勭悊寮�濮嬫椂闂� 鏌ヨ浣跨敤")
+ @TableField(exist = false)
+ private Date dealDateStart;
+
+ @ApiModelProperty(value = "澶勭悊缁撴潫鏃堕棿 鏌ヨ浣跨敤")
+ @TableField(exist = false)
+ private Date dealDateEnd;
+
+
+ @ApiModelProperty(value = "淇濅慨鍖哄煙绫诲瀷 0瀹ゅ唴缁翠慨 1鍏叡鍖哄煙", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderAreaType;
+
+ @ApiModelProperty(value = "鎵�灞炴埧闂寸紪鐮侊紙鍏宠仈yw_room)", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderRoomId;
+
+ @ApiModelProperty(value = "鎵�灞炴ゼ灞傜紪鐮侊紙鍏宠仈yw_floor)", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderFloorId;
+
+ @ApiModelProperty(value = "宸ュ崟鍒嗙被缂栫爜(鍏宠仈category锛�", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderCateId;
+
+ @ApiModelProperty(value = "涓婇棬鏃堕棿")
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date workOrderGetDate;
+
+ @ApiModelProperty(value = "鎯呭喌璇存槑")
+ @TableField(exist = false)
+ private String workOrderContent;
+
+ @ApiModelProperty(value = "杞伐鍗曢檮浠朵俊鎭�")
+ @TableField(exist = false)
+ private List<Multifile> workOrderFileList;
+
}
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 8b9b37c..2b966f7 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
@@ -73,6 +73,7 @@
@ApiModelProperty(value = "鎵�灞炴埧闂寸紪鐮侊紙鍏宠仈yw_room)", example = "1")
private Integer roomId;
+
@ApiModelProperty(value = "鎵�灞炴ゼ灞傜紪鐮侊紙鍏宠仈yw_floor)", example = "1")
private Integer floorId;
@@ -123,6 +124,10 @@
@ApiModelProperty(value = "澶勭悊鏂瑰紡 0鎸囨淳鍚庡鐞� 1鐩存帴鍥炲", example = "1")
private Integer dealType;
+
+ @ApiModelProperty(value = "鏉ユ簮 0鑷缓 1闂杞伐鍗�", example = "1")
+ private Integer origin;
+
@ApiModelProperty(value = "椤圭洰鍚嶇О")
@TableField(exist = false)
private String projectName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java
new file mode 100644
index 0000000..2c91df5
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/12/2 10:02
+ */
+@Data
+public class YwDeviceCateDataVO {
+
+ @ApiModelProperty(value = "鍒嗙被涓婚敭", example = "1")
+ private Integer cateId;
+
+ @ApiModelProperty(value = "鍒嗙被鍚嶇О", example = "1")
+ private String cateName;
+
+ @ApiModelProperty(value = "鐖剁骇鍒嗙被涓婚敭", example = "1")
+ private Integer cateParentId;
+
+ @ApiModelProperty(value = "鏁伴噺", example = "1")
+ private Integer deviceAmount ;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java
new file mode 100644
index 0000000..44c68a9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java
@@ -0,0 +1,29 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/12/2 10:02
+ */
+@Data
+public class YwDeviceParentCateDataVO {
+
+ @ApiModelProperty(value = "鍒嗙被涓婚敭", example = "1")
+ private Integer cateId;
+
+ @ApiModelProperty(value = "鍒嗙被鍚嶇О", example = "1")
+ private String cateName;
+
+ @ApiModelProperty(value = "鏁伴噺", example = "1")
+ private Integer deviceAmount ;
+
+ @ApiModelProperty(value = "瀛愬垎绫绘暟鎹�", example = "1")
+ private List<YwDeviceCateDataVO> ywDeviceCateDataVOList;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java
new file mode 100644
index 0000000..9ab7763
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwDeviceStatusDataVO {
+
+
+ @ApiModelProperty(value = "姝e父鏁伴噺", example = "1")
+ private Integer workAmount;
+
+ @ApiModelProperty(value = "寮傚父鏁伴噺", example = "1")
+ private Integer exceptionAmount;
+
+ @ApiModelProperty(value = "鎶ュ簾鏁伴噺", example = "1")
+ private Integer errAmount;
+
+ @ApiModelProperty(value = "绱鎬绘暟", example = "1")
+ private Integer amount;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java
new file mode 100644
index 0000000..85ecf03
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java
@@ -0,0 +1,30 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwWorkorderDataVO {
+
+
+ @ApiModelProperty(value = "寰呮寚娲炬暟閲�", example = "1")
+ private Integer waitAssignAmount;
+
+ @ApiModelProperty(value = "寰呭鐞嗘暟閲�", example = "1")
+ private Integer waitDealAmount;
+
+ @ApiModelProperty(value = "鏈湀鎬绘暟", example = "1")
+ private Integer monthAmount;
+
+ @ApiModelProperty(value = "绱鎬绘暟", example = "1")
+ private Integer amount;
+
+}
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 0b9b7c9..b32779c 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,9 +4,12 @@
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.YwDeviceCateDataVO;
import com.doumee.dao.business.vo.YwDeviceDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
import java.util.List;
+import java.util.Set;
/**
* 杩愮淮璁惧淇℃伅琛⊿ervice瀹氫箟
@@ -105,5 +108,7 @@
YwDevice findByCode(String deviceCode);
+ Set<YwDeviceCateDataVO> getDeviceCateData(YwDevice model);
+ YwDeviceStatusDataVO getDeviceStatus(YwDevice model);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java
index a0f41d4..8b209b6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwProblem;
+import com.doumee.service.business.impl.YwWorkorderServiceImpl;
+
import java.util.List;
/**
@@ -63,6 +65,9 @@
*/
YwProblem findById(Integer id);
+ YwProblem getDetail(Integer id);
+
+
/**
* 鏉′欢鏌ヨ鍗曟潯璁板綍
*
@@ -94,4 +99,7 @@
* @return long
*/
long count(YwProblem ywProblem);
+
+
+ void editProblem(YwProblem ywProblem, YwWorkorderServiceImpl ywWorkorderService);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
index 6064bde..ed3bda6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
@@ -3,7 +3,10 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.YwWorkorderDataDTO;
import com.doumee.dao.business.model.YwWorkorder;
+import com.doumee.dao.business.vo.YwWorkorderDataVO;
+
import java.util.List;
/**
@@ -98,4 +101,6 @@
void dispatchOrder(YwWorkorder ywWorkorder);
void dealOrder(YwWorkorder ywWorkorder);
+
+ YwWorkorderDataVO getDataVO(YwWorkorderDataDTO dto);
}
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 9e3df6e..ad8f044 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
@@ -1525,10 +1525,6 @@
queryWrapper.le(YwContract::getWyFreeEndDate, Utils.Date.getEnd(pageWrap.getModel().getWyFreeEndDate()));
}
-
-
-
-
if (pageWrap.getModel().getZlTotalFee() != null) {
queryWrapper.eq(YwContract::getZlTotalFee, pageWrap.getModel().getZlTotalFee());
}
@@ -1538,6 +1534,9 @@
if (pageWrap.getModel().getCompanyName() != null) {
queryWrapper.like(Company::getName, pageWrap.getModel().getCompanyName());
}
+ if (pageWrap.getModel().getRoomId() != null) {
+ queryWrapper.apply(" t.id in ( select ycr.CONTRACT_ID from yw_contract_room ycr where ycr.type = 0 and ycr.ROOM_ID = "+pageWrap.getModel().getRoomId()+" ) ");
+ }
queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), YwContract::getStartDate, pageWrap.getModel().getQueryStartTime())
.le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()), YwContract::getEndDate, pageWrap.getModel().getQueryEndTime());
queryWrapper.orderByDesc(YwContract::getCreateDate );
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 36f4e94..ea6e35d 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
@@ -178,6 +178,7 @@
.and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getDeviceName()),i->i.like(YwDevice::getName,model.getDeviceName()).or().like(YwDevice::getCode,model.getDeviceName()))
.ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
.le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
+ .eq(Objects.nonNull(model.getDeviceId()),YwDeviceRecord::getDeviceId,model.getDeviceId())
.eq(YwDeviceRecord::getIsdeleted,Constants.ZERO)
.orderByDesc(YwDeviceRecord::getCreateDate)
);
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 e96dd30..5aa6aef 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
@@ -15,7 +15,10 @@
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.YwDevice;
import com.doumee.dao.business.model.YwDeviceRecord;
+import com.doumee.dao.business.vo.YwDeviceCateDataVO;
import com.doumee.dao.business.vo.YwDeviceDataVO;
+import com.doumee.dao.business.vo.YwDeviceParentCateDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
import com.doumee.dao.system.model.SystemUser;
@@ -33,9 +36,7 @@
import org.springframework.stereotype.Service;
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;
/**
@@ -66,6 +67,10 @@
|| StringUtils.isBlank(ywDevice.getName())
|| StringUtils.isBlank(ywDevice.getCode())
|| Objects.isNull(ywDevice.getStatus())
+ || Objects.isNull(ywDevice.getProjectId())
+ || Objects.isNull(ywDevice.getFloorId())
+ || Objects.isNull(ywDevice.getBuildingId())
+ || Objects.isNull(ywDevice.getRoomId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -87,6 +92,28 @@
multifile.setObjId(ywDevice.getId());
multifile.setFileurl(ywDevice.getFileUrl());
multifileMapper.insert(multifile);
+ }
+
+ List<Multifile> fileList = new ArrayList<>();
+ if(ywDevice.getMultifileList()!=null && ywDevice.getMultifileList().size()>0){
+ for (int i = 0; i < ywDevice.getMultifileList().size(); i++) {
+ Multifile multifile = ywDevice.getMultifileList().get(i);
+ if(StringUtils.isBlank(multifile.getFileurl())){
+ continue;
+ }
+ multifile.setCreateDate(ywDevice.getCreateDate());
+ multifile.setEditDate(ywDevice.getCreateDate());
+ multifile.setCreator(ywDevice.getEditor());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(ywDevice.getId());
+ multifile.setEditor(ywDevice.getCreator());
+ multifile.setObjType(Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey());
+ multifile.setSortnum(i+1);
+ fileList.add(multifile);
+ }
+ }
+ if(fileList.size()>0){
+ multifileMapper.insert(fileList);
}
return ywDevice.getId();
@@ -126,6 +153,10 @@
|| StringUtils.isBlank(ywDevice.getName())
|| StringUtils.isBlank(ywDevice.getCode())
|| Objects.isNull(ywDevice.getStatus())
+ || Objects.isNull(ywDevice.getProjectId())
+ || Objects.isNull(ywDevice.getFloorId())
+ || Objects.isNull(ywDevice.getBuildingId())
+ || Objects.isNull(ywDevice.getRoomId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -140,7 +171,7 @@
ywDeviceMapper.updateById(ywDevice);
multifileMapper.delete(new QueryWrapper<Multifile>().lambda()
.eq(Multifile::getObjId,ywDevice.getId())
- .eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey())
+ .in(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey(),Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey())
);
if(Objects.nonNull(ywDevice.getFileUrl())){
Multifile multifile = new Multifile();
@@ -151,6 +182,28 @@
multifile.setObjId(ywDevice.getId());
multifile.setFileurl(ywDevice.getFileUrl());
multifileMapper.insert(multifile);
+ }
+
+ List<Multifile> fileList = new ArrayList<>();
+ if(ywDevice.getMultifileList()!=null && ywDevice.getMultifileList().size()>0){
+ for (int i = 0; i < ywDevice.getMultifileList().size(); i++) {
+ Multifile multifile = ywDevice.getMultifileList().get(i);
+ if(StringUtils.isBlank(multifile.getFileurl())){
+ continue;
+ }
+ multifile.setCreateDate(ywDevice.getCreateDate());
+ multifile.setEditDate(ywDevice.getCreateDate());
+ multifile.setCreator(ywDevice.getEditor());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(ywDevice.getId());
+ multifile.setEditor(ywDevice.getCreator());
+ multifile.setObjType(Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey());
+ multifile.setSortnum(i+1);
+ fileList.add(multifile);
+ }
+ }
+ if(fileList.size()>0){
+ multifileMapper.insert(fileList);
}
@@ -181,6 +234,26 @@
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_DEVICE).getCode();
ywDevice.setFileFullUrl(path + multifile.getFileurl());
}
+
+ //闄勪欢鏁版嵁
+ List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
+ .selectAll(Multifile.class)
+ .selectAs(SystemUser::getRealname,Multifile::getUserName)
+ .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
+ .eq(Multifile::getObjId,ywDevice.getId())
+ .eq(Multifile::getIsdeleted,Constants.ZERO)
+ .eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey()));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
+ for (Multifile m:multifileList) {
+ if(StringUtils.isNotBlank(m.getFileurl())){
+ m.setFileurlFull(path + m.getFileurl());
+ }
+ }
+ ywDevice.setMultifileList(multifileList);
+ }
+
return ywDevice;
}
@@ -228,12 +301,18 @@
Utils.MP.blankToNull(pageWrap.getModel());
YwDevice model = pageWrap.getModel();
queryWrapper.selectAll(YwDevice.class)
- .selectAs(Category::getName,YwDevice::getCategoryName)
+ .select("c.name",YwDevice::getCategoryName)
+ .select("c1.name",YwDevice::getCategoryParentName)
.selectAs(SystemUser::getRealname,YwDevice::getRealName)
- .leftJoin(Category.class,Category::getId,YwDevice::getCateId)
.leftJoin(SystemUser.class,SystemUser::getId,YwDevice::getUserId)
+ .leftJoin("category c on t.CATE_ID = c.id")
+ .leftJoin("category c1 on c.PARENT_ID = c1.id")
.and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(YwDevice::getName,model.getName()).or().like(YwDevice::getCode,model.getName()))
.eq(Objects.nonNull(model.getStatus()),YwDevice::getStatus,model.getStatus())
+ .eq(Objects.nonNull(model.getRoomId()),YwDevice::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwDevice::getFloorId,model.getFloorId())
+ .eq(Objects.nonNull(model.getProjectId()),YwDevice::getProjectId,model.getProjectId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwDevice::getBuildingId,model.getBuildingId())
.eq(YwDevice::getIsdeleted,Constants.ZERO)
.orderByDesc(YwDevice::getCreateDate)
;
@@ -263,6 +342,80 @@
return ywDeviceDataVO;
}
+ @Override
+ public Set<YwDeviceCateDataVO> getDeviceCateData(YwDevice model){
+ MPJLambdaWrapper<YwDevice> queryWrapper = new MPJLambdaWrapper<YwDevice>();
+ queryWrapper.selectAll(YwDevice.class)
+ .select("c.name",YwDevice::getCategoryName)
+ .select("c1.name",YwDevice::getCategoryParentName)
+ .select("c1.id",YwDevice::getCateParentId)
+ .selectAs(SystemUser::getRealname,YwDevice::getRealName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwDevice::getUserId)
+ .leftJoin("category c on t.CATE_ID = c.id")
+ .leftJoin("category c1 on c.PARENT_ID = c1.id")
+ .eq(Objects.nonNull(model.getRoomId()),YwDevice::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwDevice::getFloorId,model.getFloorId())
+ .eq(Objects.nonNull(model.getProjectId()),YwDevice::getProjectId,model.getProjectId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwDevice::getBuildingId,model.getBuildingId())
+ .eq(YwDevice::getIsdeleted,Constants.ZERO)
+ .isNotNull(YwDevice::getCateId)
+ .orderByDesc(YwDevice::getCreateDate)
+ ;
+ List<YwDevice> ywDeviceList = ywDeviceMapper.selectJoinList(YwDevice.class,queryWrapper);
+ Set<YwDeviceCateDataVO> ywDeviceCateDataVOSet = new HashSet<>();
+ Set<YwDeviceParentCateDataVO> ywDeviceParentCateDataVOSet = new HashSet<>();
+ for (YwDevice y: ywDeviceList) {
+ YwDeviceCateDataVO ywDeviceCateDataVO = new YwDeviceCateDataVO();
+ ywDeviceCateDataVO.setCateId(y.getCateId());
+ ywDeviceCateDataVO.setCateName(y.getCategoryName());
+ ywDeviceCateDataVO.setCateParentId(y.getCateParentId());
+ ywDeviceCateDataVOSet.add(ywDeviceCateDataVO);
+ YwDeviceParentCateDataVO ywDeviceParentCateDataVO = new YwDeviceParentCateDataVO();
+ ywDeviceParentCateDataVO.setCateId(y.getCateParentId());
+ ywDeviceParentCateDataVO.setCateName(y.getCategoryParentName());
+ ywDeviceParentCateDataVOSet.add(ywDeviceParentCateDataVO);
+ }
+
+ for (YwDeviceCateDataVO ywDeviceCateDataVO:ywDeviceCateDataVOSet) {
+ ywDeviceCateDataVO.setDeviceAmount(
+ ywDeviceList.stream().filter(i->Objects.nonNull(i.getCateId()) && Constants.equalsInteger(i.getCateId(),ywDeviceCateDataVO.getCateId())).collect(Collectors.toList()).size()
+ );
+ }
+
+ for (YwDeviceParentCateDataVO ywDeviceParentCateDataVO:ywDeviceParentCateDataVOSet) {
+ ywDeviceParentCateDataVO.setDeviceAmount(
+ ywDeviceList.stream().filter(i->Objects.nonNull(i.getCateParentId()) && Constants.equalsInteger(i.getCateParentId(),ywDeviceParentCateDataVO.getCateId())).collect(Collectors.toList()).size()
+ );
+ ywDeviceParentCateDataVO.setYwDeviceCateDataVOList(
+ ywDeviceCateDataVOSet.stream().filter(i->Constants.equalsInteger(i.getCateParentId(),ywDeviceParentCateDataVO.getCateId())).collect(Collectors.toList())
+ );
+ }
+ return ywDeviceCateDataVOSet;
+ }
+
+
+ @Override
+ public YwDeviceStatusDataVO getDeviceStatus(YwDevice model){
+ YwDeviceStatusDataVO ywDeviceStatusDataVO = new YwDeviceStatusDataVO();
+ MPJLambdaWrapper<YwDevice> queryWrapper = new MPJLambdaWrapper<YwDevice>();
+ queryWrapper.selectAll(YwDevice.class)
+ .eq(Objects.nonNull(model.getRoomId()),YwDevice::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwDevice::getFloorId,model.getFloorId())
+ .eq(Objects.nonNull(model.getProjectId()),YwDevice::getProjectId,model.getProjectId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwDevice::getBuildingId,model.getBuildingId())
+ .eq(YwDevice::getIsdeleted,Constants.ZERO)
+ ;
+ List<YwDevice> ywDeviceList = ywDeviceMapper.selectJoinList(YwDevice.class,queryWrapper);
+ ywDeviceStatusDataVO.setAmount(ywDeviceList.size());
+ ywDeviceStatusDataVO.setWorkAmount(ywDeviceList.stream().filter(i->Objects.nonNull(i.getStatus())&&Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ ywDeviceStatusDataVO.setExceptionAmount(ywDeviceList.stream().filter(i->Objects.nonNull(i.getStatus())&&Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ ywDeviceStatusDataVO.setErrAmount(ywDeviceList.stream().filter(i->Objects.nonNull(i.getStatus())&&Constants.equalsInteger(i.getStatus(),Constants.THREE)).collect(Collectors.toList()).size());
+ return ywDeviceStatusDataVO;
+
+ }
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java
index 90dde7f..22b0839 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java
@@ -221,6 +221,8 @@
.like(StringUtils.isNotBlank(model.getAttr()),YwMaterial::getAttr,model.getAttr())
.eq(Objects.nonNull(model.getProjectId()),YwRoom::getProjectId,model.getProjectId())
.eq(Objects.nonNull(model.getRoomId()),YwMaterial::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwRoom::getFloor,model.getFloorId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId())
.eq(YwMaterial::getIsdeleted,Constants.ZERO)
.orderByAsc(YwMaterial::getCode)
;
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 d025f21..4253d90 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
@@ -127,13 +127,22 @@
.selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
.selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
.selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+
+ .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle)
+ .selectAs(YwPatrolTask::getTitle,YwPatrolTaskRecord::getTaskCode)
+ .selectAs(YwPatrolTask::getStartDate,YwPatrolTaskRecord::getStartDate)
+ .selectAs(YwPatrolTask::getEndDate,YwPatrolTaskRecord::getEndDate)
+
.leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
.leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
+ .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId)
+ .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
.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())
+ .eq(Objects.nonNull(model) && Objects.nonNull(model.getDeviceId()) , YwPatrolPoint::getDeviceId,model.getDeviceId())
.orderByDesc(YwPatrolScheme::getCreateDate)
;
IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
index 5ee8050..67906be 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
@@ -1,29 +1,33 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
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.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwProblemMapper;
-import com.doumee.dao.business.model.YwProblem;
+import com.doumee.dao.business.YwRoomMapper;
+import com.doumee.dao.business.model.*;
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.YwProblemService;
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.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* 杩愮淮闂涓婃姤淇℃伅琛⊿ervice瀹炵幇
@@ -37,9 +41,16 @@
private YwProblemMapper ywProblemMapper;
@Autowired
+ private YwRoomMapper ywRoomMapper;
+
+ @Autowired
private MultifileMapper multifileMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
@Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(YwProblem ywProblem) {
if(Objects.isNull(ywProblem)
|| Objects.isNull(ywProblem.getSubmitDate())
@@ -116,6 +127,110 @@
return ywProblemMapper.selectById(id);
}
+
+
+ @Override
+ public YwProblem getDetail(Integer id) {
+ MPJLambdaWrapper<YwProblem> queryWrapper = new MPJLambdaWrapper<YwProblem>();
+ queryWrapper.selectAll(YwProblem.class)
+ .selectAs(SystemUser::getRealname,YwProblem::getDealUserName)
+ .selectAs(Company::getName,YwProblem::getDealUserCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwProblem::getDealUserId)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(YwProblem::getId,id)
+ ;
+ YwProblem ywProblem = ywProblemMapper.selectJoinOne(YwProblem.class,queryWrapper);
+ if(Objects.isNull(ywProblem)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId, ywProblem.getId() )
+ .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.PROBLEM_FILE.getKey() }))
+ .eq(Multifile::getIsdeleted,Constants.ZERO));
+ if(multifiles!=null){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PROBLEM).getCode();
+ for(Multifile f : multifiles){
+ if(StringUtils.isBlank(f.getFileurl())){
+ continue;
+ }
+ f.setFileurlFull(path+f.getFileurl());
+ }
+ ywProblem.setFileList(multifiles);
+ }
+ return ywProblem;
+ }
+
+
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public void editProblem(YwProblem ywProblem,YwWorkorderServiceImpl ywWorkorderService){
+ if(Objects.isNull(ywProblem)
+ || Objects.isNull(ywProblem.getId())
+ || Objects.isNull(ywProblem.getDealStatus())
+ || !(Constants.equalsInteger(ywProblem.getDealStatus(),Constants.ONE)||Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO))
+ || (Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)&&StringUtils.isBlank(ywProblem.getDealInfo()))
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = ywProblem.getLoginUserInfo();
+ //鍏抽棴闂
+ if(Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)){
+ ywProblemMapper.update(new UpdateWrapper<YwProblem>().lambda()
+ .set(YwProblem::getDealDate, DateUtil.getCurrDateTime())
+ .set(YwProblem::getDealInfo,ywProblem.getDealInfo())
+ .set(YwProblem::getDealType,Constants.ONE)
+ .set(YwProblem::getDealStatus,ywProblem.getDealStatus())
+ .set(YwProblem::getDealUserId,loginUserInfo.getId())
+ .set(YwProblem::getEditor,loginUserInfo.getId())
+ .set(YwProblem::getEditDate, DateUtil.getCurrDateTime())
+ .eq(YwProblem::getId,ywProblem.getId())
+ );
+ }else{
+ if(Objects.isNull(ywProblem.getWorkOrderAreaType())
+ ||Objects.isNull(ywProblem.getWorkOrderCateId())
+ ||StringUtils.isBlank(ywProblem.getWorkOrderContent())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ YwWorkorder ywWorkorder = new YwWorkorder();
+ ywWorkorder.setAreaType(ywProblem.getWorkOrderAreaType());
+ ywWorkorder.setCateId(ywProblem.getWorkOrderCateId());
+ ywWorkorder.setContent(ywProblem.getWorkOrderContent());
+ ywWorkorder.setRoomId(ywProblem.getWorkOrderRoomId());
+ ywWorkorder.setFloorId(ywProblem.getWorkOrderFloorId());
+ ywWorkorder.setGetDate(ywProblem.getWorkOrderGetDate());
+ ywWorkorder.setOrigin(Constants.ONE);
+ ywWorkorder.setLoginUserInfo(loginUserInfo);
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywProblem.getWorkOrderFileList())){
+ ywWorkorder.setFileList(ywProblem.getWorkOrderFileList());
+ }
+ Integer workOrderId = ywWorkorderService.create(ywWorkorder);
+ ywProblemMapper.update(new UpdateWrapper<YwProblem>().lambda()
+ .set(YwProblem::getDealDate, DateUtil.getCurrDateTime())
+ .set(YwProblem::getDealInfo,ywProblem.getDealInfo())
+ .set(YwProblem::getDealType,Constants.ZERO)
+ .set(YwProblem::getDealStatus,ywProblem.getDealStatus())
+ .set(YwProblem::getDealUserId,loginUserInfo.getId())
+ .set(YwProblem::getEditor,loginUserInfo.getId())
+ .set(YwProblem::getEditDate, DateUtil.getCurrDateTime())
+ .set(YwProblem::getWorkorderId,workOrderId)
+ .eq(YwProblem::getId,ywProblem.getId())
+ );
+
+ }
+
+ }
+
+
+
+
+
+
+
+
+
@Override
public YwProblem findOne(YwProblem ywProblem) {
QueryWrapper<YwProblem> wrapper = new QueryWrapper<>(ywProblem);
@@ -131,77 +246,19 @@
@Override
public PageData<YwProblem> findPage(PageWrap<YwProblem> pageWrap) {
IPage<YwProblem> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<YwProblem> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<YwProblem> queryWrapper = new MPJLambdaWrapper<YwProblem>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(YwProblem::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(YwProblem::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(YwProblem::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwProblem::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(YwProblem::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(YwProblem::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getPosition() != null) {
- queryWrapper.lambda().eq(YwProblem::getPosition, pageWrap.getModel().getPosition());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(YwProblem::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(YwProblem::getStatus, pageWrap.getModel().getStatus());
- }
- if (pageWrap.getModel().getContent() != null) {
- queryWrapper.lambda().eq(YwProblem::getContent, pageWrap.getModel().getContent());
- }
- if (pageWrap.getModel().getPhone() != null) {
- queryWrapper.lambda().eq(YwProblem::getPhone, pageWrap.getModel().getPhone());
- }
- if (pageWrap.getModel().getSubmitDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getSubmitDate, Utils.Date.getStart(pageWrap.getModel().getSubmitDate()));
- queryWrapper.lambda().le(YwProblem::getSubmitDate, Utils.Date.getEnd(pageWrap.getModel().getSubmitDate()));
- }
- if (pageWrap.getModel().getCode() != null) {
- queryWrapper.lambda().eq(YwProblem::getCode, pageWrap.getModel().getCode());
- }
- if (pageWrap.getModel().getDealStatus() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealStatus, pageWrap.getModel().getDealStatus());
- }
- if (pageWrap.getModel().getDealUserId() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealUserId, pageWrap.getModel().getDealUserId());
- }
- if (pageWrap.getModel().getDealDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate()));
- queryWrapper.lambda().le(YwProblem::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate()));
- }
- if (pageWrap.getModel().getDealInfo() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealInfo, pageWrap.getModel().getDealInfo());
- }
- if (pageWrap.getModel().getDealType() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealType, pageWrap.getModel().getDealType());
- }
- if (pageWrap.getModel().getWorkorderId() != null) {
- queryWrapper.lambda().eq(YwProblem::getWorkorderId, pageWrap.getModel().getWorkorderId());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
- return PageData.from(ywProblemMapper.selectPage(page, queryWrapper));
+ YwProblem model = pageWrap.getModel();
+ queryWrapper.selectAll(YwProblem.class)
+ .selectAs(SystemUser::getRealname,YwProblem::getDealUserName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwProblem::getDealUserId)
+ .like(StringUtils.isNotBlank(model.getContent()),YwProblem::getContent,model.getContent())
+ .ge(Objects.nonNull(model.getDealDateStart()),YwProblem::getDealDate, Utils.Date.getStart(model.getDealDateStart()))
+ .le(Objects.nonNull(model.getDealDateEnd()),YwProblem::getDealDate, Utils.Date.getEnd(model.getDealDateEnd()))
+ .eq(Objects.nonNull(model.getDealStatus()),YwProblem::getDealStatus,model.getDealStatus())
+ ;
+ IPage iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
+ return PageData.from(iPage);
}
@Override
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 87d1ec9..fc67f80 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
@@ -126,7 +126,19 @@
@Override
public YwRoom findById(Integer id) {
- return ywRoomMapper.selectById(id);
+ MPJLambdaWrapper<YwRoom> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(YwRoom.class )
+ .selectAs(YwProject::getName,YwRoom::getProjectName)
+ .selectAs(YwFloor::getName,YwRoom::getFloorName)
+ .selectAs(YwBuilding::getName,YwRoom::getBuildingName)
+ .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
+ .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId)
+ .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor)
+ .eq(YwRoom::getId,id)
+ .last(" limit 1 ")
+ ;
+ YwRoom ywRoom = ywRoomMapper.selectJoinOne(YwRoom.class,queryWrapper);
+ return ywRoom;
}
@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 42f163b..105492a 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
@@ -8,9 +8,12 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
+import com.doumee.dao.business.dto.YwWorkorderDataDTO;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.YwWorkorderDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.Multifile;
@@ -29,6 +32,7 @@
import org.springframework.util.CollectionUtils;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 杩愮淮宸ュ崟淇℃伅琛⊿ervice瀹炵幇
@@ -528,4 +532,27 @@
QueryWrapper<YwWorkorder> wrapper = new QueryWrapper<>(ywWorkorder);
return ywWorkorderMapper.selectCount(wrapper);
}
+
+
+
+ @Override
+ public YwWorkorderDataVO getDataVO(YwWorkorderDataDTO dto){
+ YwWorkorderDataVO ywWorkorderDataVO = new YwWorkorderDataVO();
+
+ List<YwWorkorder> list = ywWorkorderMapper.selectList(new QueryWrapper<YwWorkorder>().lambda()
+ .eq(YwWorkorder::getIsdeleted,Constants.ZERO)
+ .eq(Constants.equalsInteger(dto.getQueryType(),Constants.ONE),YwWorkorder::getProjectId,dto.getQueryId())
+ .eq(Constants.equalsInteger(dto.getQueryType(),Constants.TWO),YwWorkorder::getFloorId,dto.getQueryId())
+ .eq(Constants.equalsInteger(dto.getQueryType(),Constants.THREE),YwWorkorder::getRoomId,dto.getQueryId()));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+ ywWorkorderDataVO.setAmount(list.size());
+ ywWorkorderDataVO.setMonthAmount(list.stream().filter(i-> DateUtil.formatDate(i.getSubmitDate(),"yyyy-MM").equals(DateUtil.formatDate(new Date(),"yyyy-MM"))).collect(Collectors.toList()).size());
+ ywWorkorderDataVO.setWaitDealAmount(list.stream().filter(i-> Constants.equalsInteger(i.getDealStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ ywWorkorderDataVO.setWaitAssignAmount(list.stream().filter(i-> Constants.equalsInteger(i.getDealStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ }
+ return ywWorkorderDataVO;
+ }
+
+
+
}
--
Gitblit v1.9.3