From a40e6a45b2207a9b172b7687ce6e4fe7da8b9ac6 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 03 十二月 2024 16:46:49 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei --- 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