From cdf974d19bab00ac22fe2896eb34b920d58d74a6 Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 09 一月 2025 18:30:40 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java | 90 +++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java | 36 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java | 97 +++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java | 7 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java | 17 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java | 7 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java | 4 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java | 21 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java | 22 + server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java | 43 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java | 187 ++++++++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java | 27 + server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java | 13 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/YwRoomService.java | 8 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java | 3 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java | 71 +++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java | 17 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java | 34 + server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java | 34 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java | 5 server/db/business.yw_quick_model.permissions.sql | 6 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java | 5 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java | 116 ++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 58 +++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java | 142 +++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 5 27 files changed, 1,067 insertions(+), 11 deletions(-) diff --git a/server/db/business.yw_quick_model.permissions.sql b/server/db/business.yw_quick_model.permissions.sql new file mode 100644 index 0000000..b38841c --- /dev/null +++ b/server/db/business.yw_quick_model.permissions.sql @@ -0,0 +1,6 @@ +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:create', '鏂板缓宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:delete', '鍒犻櫎宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:update', '淇敼宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:query', '鏌ヨ宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:exportExcel', '瀵煎嚭宸ヤ綔鍙� - 蹇嵎妯″潡(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); + diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java index 0ee45de..ca58ec1 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java @@ -10,6 +10,7 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.YwContractBill; +import com.doumee.dao.business.vo.YwContractBillDataVO; import com.doumee.service.business.YwContractBillService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -112,5 +113,11 @@ return ApiResponse.success("鐢熸垚鎴愬姛"); } + @ApiOperation("鑾峰彇寰呭鐞嗚处鍗�") + @GetMapping("/getWaitDealList") + @CloudRequiredPermission("business:ywcontractbill:query") + public ApiResponse<YwContractBillDataVO> getWaitDealList(@RequestParam Integer contractId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + return ApiResponse.success(ywContractBillService.getWaitDealList(contractId)); + } } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java new file mode 100644 index 0000000..6f05fa8 --- /dev/null +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java @@ -0,0 +1,90 @@ +package com.doumee.cloud.admin; + +import com.doumee.api.BaseController; +import com.doumee.core.annotation.excel.ExcelExporter; +import com.doumee.core.annotation.pr.PreventRepeat; +import com.doumee.core.model.ApiResponse; +import com.doumee.core.model.PageWrap; +import com.doumee.core.model.PageData; +import com.doumee.dao.business.model.YwQuickModel; +import com.doumee.service.business.YwQuickModelService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author 姹熻箘韫� + * @date 2025/01/09 17:47 + */ +@Api(tags = "宸ヤ綔鍙� - 蹇嵎妯″潡") +@RestController +@RequestMapping("/business/ywQuickModel") +public class YwQuickModelCloudController extends BaseController { + + @Autowired + private YwQuickModelService ywQuickModelService; + + @PreventRepeat + @ApiOperation("鏂板缓") + @PostMapping("/create") + @RequiresPermissions("business:ywquickmodel:create") + public ApiResponse create(@RequestBody YwQuickModel ywQuickModel) { + return ApiResponse.success(ywQuickModelService.create(ywQuickModel)); + } + + @ApiOperation("鏍规嵁ID鍒犻櫎") + @GetMapping("/delete/{id}") + @RequiresPermissions("business:ywquickmodel:delete") + public ApiResponse deleteById(@PathVariable Integer id) { + ywQuickModelService.deleteById(id); + return ApiResponse.success(null); + } + + @ApiOperation("鎵归噺鍒犻櫎") + @GetMapping("/delete/batch") + @RequiresPermissions("business:ywquickmodel:delete") + public ApiResponse deleteByIdInBatch(@RequestParam String ids) { + String [] idArray = ids.split(","); + List<Integer> idList = new ArrayList<>(); + for (String id : idArray) { + idList.add(Integer.valueOf(id)); + } + ywQuickModelService.deleteByIdInBatch(idList); + return ApiResponse.success(null); + } + + @ApiOperation("鏍规嵁ID淇敼") + @PostMapping("/updateById") + @RequiresPermissions("business:ywquickmodel:update") + public ApiResponse updateById(@RequestBody YwQuickModel ywQuickModel) { + ywQuickModelService.updateById(ywQuickModel); + return ApiResponse.success(null); + } + + @ApiOperation("鍒嗛〉鏌ヨ") + @PostMapping("/page") + @RequiresPermissions("business:ywquickmodel:query") + public ApiResponse<PageData<YwQuickModel>> findPage (@RequestBody PageWrap<YwQuickModel> pageWrap) { + return ApiResponse.success(ywQuickModelService.findPage(pageWrap)); + } + + @ApiOperation("瀵煎嚭Excel") + @PostMapping("/exportExcel") + @RequiresPermissions("business:ywquickmodel:exportExcel") + public void exportExcel (@RequestBody PageWrap<YwQuickModel> pageWrap, HttpServletResponse response) { + ExcelExporter.build(YwQuickModel.class).export(ywQuickModelService.findPage(pageWrap).getRecords(), "宸ヤ綔鍙� - 蹇嵎妯″潡", response); + } + + @ApiOperation("鏍规嵁ID鏌ヨ") + @GetMapping("/{id}") + @RequiresPermissions("business:ywquickmodel:query") + public ApiResponse findById(@PathVariable Integer id) { + return ApiResponse.success(ywQuickModelService.findById(id)); + } +} diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java index 0eac4e5..af30c32 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java @@ -9,6 +9,8 @@ import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.YwContractRoom; import com.doumee.dao.business.model.YwRoom; +import com.doumee.dao.business.vo.YwFloorStatusDataVO; +import com.doumee.dao.business.vo.YwRoomContractDataVO; import com.doumee.service.business.YwRoomService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -99,4 +101,19 @@ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(ywRoomService.findById(id)); } + + @ApiOperation("鏌ヨ鎴块棿鎬佸娍鏁版嵁") + @PostMapping("/getRoomStatusList") + @CloudRequiredPermission("business:ywroom:query") + public ApiResponse<List<YwFloorStatusDataVO>> getRoomStatusList (@RequestBody YwRoom model, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + return ApiResponse.success(ywRoomService.getRoomStatusList(model)); + } + + @ApiOperation("鏌ヨ鎴块棿绉熻祦淇℃伅") + @PostMapping("/getRoomContract") + @CloudRequiredPermission("business:ywroom:query") + public ApiResponse<YwRoomContractDataVO> getRoomContract (@RequestBody YwRoom model, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + return ApiResponse.success(ywRoomService.getRoomContract(model)); + } + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java new file mode 100644 index 0000000..b463189 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java @@ -0,0 +1,13 @@ +package com.doumee.dao.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.doumee.dao.business.model.YwQuickModel; +import com.github.yulichang.base.MPJBaseMapper; + +/** + * @author 姹熻箘韫� + * @date 2025/01/09 17:47 + */ +public interface YwQuickModelMapper extends MPJBaseMapper<YwQuickModel> { + +} 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 5fca146..40a3fe7 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 @@ -115,4 +115,11 @@ @ApiModelProperty(value = "椤圭洰鍚嶇О") @TableField(exist = false) private String projectName; + @ApiModelProperty(value = "鎴块棿璁¤垂闈㈢Н锛堝钩鏂圭背锛�", example = "1") + @TableField(exist = false) + private BigDecimal roomFeeArea; + @ApiModelProperty(value = "鎴块棿璁$闈㈢Н锛堝钩鏂圭背锛�", example = "1") + @TableField(exist = false) + private BigDecimal roomRentArea; + } 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 d3b4719..4d5198f 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 @@ -247,6 +247,9 @@ @ApiModelProperty(value = "閲嶆柊寮�濮嬫椂闂�") @TableField(exist = false) private Date queryStartTime; + @ApiModelProperty(value = "鍚堝悓鎬昏垂鐢�",notes = "鍚堝悓鍒濆鍖栨椂閲戦", example = "1") + @TableField(exist = false) + private BigDecimal totalFee; @ApiModelProperty(value = "鏌ヨ缁撴潫鏃堕棿") @TableField(exist = false) 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 bc6ea4b..3b798da 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 @@ -11,6 +11,7 @@ import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; +import java.util.List; /** * 杩愮淮宸℃璁″垝淇℃伅琛� @@ -133,4 +134,7 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date endDateSec; + + + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java new file mode 100644 index 0000000..b0d7880 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java @@ -0,0 +1,71 @@ +package com.doumee.dao.business.model; + +import com.doumee.core.annotation.excel.ExcelColumn; +import com.doumee.core.model.LoginUserModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; + +/** + * 宸ヤ綔鍙� - 蹇嵎妯″潡 + * @author 姹熻箘韫� + * @date 2025/01/09 17:47 + */ +@Data +@ApiModel("宸ヤ綔鍙� - 蹇嵎妯″潡") +@TableName("`yw_quick_model`") +public class YwQuickModel extends LoginUserModel { + + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "涓婚敭", example = "1") + @ExcelColumn(name="涓婚敭") + private Integer id; + + @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1") + @ExcelColumn(name="鍒涘缓浜虹紪鐮�") + private Integer creator; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @ExcelColumn(name="鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createDate; + + @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1") + @ExcelColumn(name="鏇存柊浜虹紪鐮�") + private Integer editor; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @ExcelColumn(name="鏇存柊鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date editDate; + + @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1") + @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�") + private Integer isdeleted; + + @ApiModelProperty(value = "鐢ㄦ埛涓婚敭", example = "1") + @ExcelColumn(name="鐢ㄦ埛涓婚敭") + private Integer userId; + + @ApiModelProperty(value = "妯″潡鍚嶇О") + @ExcelColumn(name="妯″潡鍚嶇О") + private String name; + + @ApiModelProperty(value = "妯″潡鍦板潃") + @ExcelColumn(name="妯″潡鍦板潃") + private String path; + + @ApiModelProperty(value = "鍥炬爣鍦板潃") + @ExcelColumn(name="鍥炬爣鍦板潃") + private String icoPath; + + @ApiModelProperty(value = "鎺掑簭鐮�", example = "1") + @ExcelColumn(name="鎺掑簭鐮�") + private Integer sort; + +} 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 2b966f7..06c1422 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 @@ -143,6 +143,9 @@ @ApiModelProperty(value = "鎴挎簮鍚嶇О") @TableField(exist = false) private String roomName; + @ApiModelProperty(value = "闂涓婚敭") + @TableField(exist = false) + private String problemId; @ApiModelProperty(value = "鎶ヤ慨鍖哄煙") @ExcelColumn(name="鎶ヤ慨鍖哄煙",index = 2,width = 10) @TableField(exist = false) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java new file mode 100644 index 0000000..5d1ae87 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java @@ -0,0 +1,27 @@ +package com.doumee.dao.business.vo; + +import com.doumee.dao.system.model.Notices; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2023/5/6 10:20 + */ +@Data +public class MonthDataResponse { + + @ApiModelProperty(value = "鏃ユ湡") + private String monthDate; + + @ApiModelProperty(value = "鍛ㄥ嚑") + private String weekMsg; + + @ApiModelProperty(value = "閫氱煡鍒楄〃") + private List<Notices> noticeList; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java new file mode 100644 index 0000000..732fd26 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java @@ -0,0 +1,34 @@ +package com.doumee.dao.business.vo; + +import com.doumee.dao.business.model.YwContractBill; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2025/1/8 15:32 + */ +@Data +public class YwContractBillDataVO { + + @ApiModelProperty(value = "鏀舵璐﹀崟鏁�", example = "1") + private Integer inAmount; + + @ApiModelProperty(value = "鏀舵璐﹀崟閲戦", example = "1") + private BigDecimal inFee; + + @ApiModelProperty(value = "浠樻璐﹀崟鏁�", example = "1") + private Integer payAmount; + + @ApiModelProperty(value = "浠樻璐﹀崟閲戦", example = "1") + private BigDecimal payFee; + + @ApiModelProperty(value = "璐﹀崟鍒楄〃", example = "1") + private List<YwContractBill> ywContractBillList; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java new file mode 100644 index 0000000..1108049 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java @@ -0,0 +1,34 @@ +package com.doumee.dao.business.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2025/1/8 15:32 + */ +@Data +public class YwFloorStatusDataVO { + + @ApiModelProperty(value = "妤煎眰涓婚敭", example = "1") + private Integer floorId; + + @ApiModelProperty(value = "妤煎眰闈㈢Н", example = "1") + private BigDecimal floorArea; + + @ApiModelProperty(value = "妤煎眰鍚嶇О", example = "1") + private String floorName; + + @ApiModelProperty(value = "妤煎眰鏁�", example = "1") + private Integer floor; + + @ApiModelProperty(value = "鎴块棿鐘舵�佹暟鎹�", example = "1") + private List<YwRoomStatusDataVO> ywRoomStatusDataVOList; + + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java new file mode 100644 index 0000000..46bf123 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java @@ -0,0 +1,36 @@ +package com.doumee.dao.business.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2025/1/8 15:32 + */ +@Data +public class YwRoomContractDataVO { + + @ApiModelProperty(value = "鍦ㄧ鍚堝悓鏁�", example = "1") + private Integer leaseContractAmount; + + @ApiModelProperty(value = "鍦ㄧ鍚堟埧婧愭暟", example = "1") + private Integer leaseRoomAmount; + + @ApiModelProperty(value = "鍙嫑鍟嗛潰绉�", example = "1") + private BigDecimal investmentArea; + + @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟", example = "1") + private Integer investmentRoomAmount; + + @ApiModelProperty(value = "鍦ㄧ瀹炴椂鍧囦环", example = "1") + private BigDecimal leasePrice; + + @ApiModelProperty(value = "鍦ㄧ闈㈢Н", example = "1") + private BigDecimal leaseArea; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java new file mode 100644 index 0000000..5936073 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java @@ -0,0 +1,43 @@ +package com.doumee.dao.business.vo; + +import com.doumee.core.annotation.excel.ExcelColumn; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2025/1/8 15:32 + */ +@Data +public class YwRoomStatusDataVO { + + @ApiModelProperty(value = "妤煎眰涓婚敭", example = "1") + private Integer floorId; + + @ApiModelProperty(value = "鎴块棿涓婚敭", example = "1") + private Integer roomId; + + @ApiModelProperty(value = "鎴块棿缂栧彿", example = "1") + private String roomCode; + + @ApiModelProperty(value = "璁$闈㈢Н锛堝钩鏂圭背锛�", example = "1") + private BigDecimal roomRentArea; + + @ApiModelProperty(value = "绉熷鍚嶇О", example = "1") + private String customerName; + + @ApiModelProperty(value = "鎴块棿鐘舵�侊細0=寰呯锛�1=宸茬锛�2=鍗冲皢鍒版湡", example = "1") + private Integer roomStatus; + + @ApiModelProperty(value = "鍒版湡鏃ユ湡", example = "1") + private Date overData; + + @ApiModelProperty(value = "绌洪棽澶╂暟", example = "1") + private Integer freeDayAmount; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java new file mode 100644 index 0000000..a269203 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java @@ -0,0 +1,22 @@ +package com.doumee.service.business; + +import com.doumee.core.model.LoginUserInfo; +import com.doumee.dao.business.model.YwQuickModel; +import com.doumee.dao.business.vo.MonthDataResponse; + +import java.util.List; + +/** + * 瀹℃壒淇℃伅璁板綍琛⊿ervice瀹氫箟 + * @author 姹熻箘韫� + * @date 2023/12/28 14:09 + */ +public interface WorkbenchesService { + + + List<YwQuickModel> getYwQuickList(LoginUserInfo loginUserInfo); + + void updMyYwQuickModel(List<Integer> idList, LoginUserInfo loginUserInfo); + + List<MonthDataResponse> getMonthNotices(String yearMonth, LoginUserInfo loginUserInfo); +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java index 3ef54c3..b3ad156 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java @@ -4,6 +4,8 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.YwContractBill; +import com.doumee.dao.business.vo.YwContractBillDataVO; + import java.util.List; /** @@ -104,4 +106,7 @@ void dealDayBillCode(); List<YwContractBill> getCanBackBill(YwContractBill model); + + + YwContractBillDataVO getWaitDealList(Integer contractId); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java new file mode 100644 index 0000000..4e2fbe0 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java @@ -0,0 +1,97 @@ +package com.doumee.service.business; + +import com.doumee.core.model.PageData; +import com.doumee.core.model.PageWrap; +import com.doumee.dao.business.model.YwQuickModel; +import java.util.List; + +/** + * 宸ヤ綔鍙� - 蹇嵎妯″潡Service瀹氫箟 + * @author 姹熻箘韫� + * @date 2025/01/09 17:47 + */ +public interface YwQuickModelService { + + /** + * 鍒涘缓 + * + * @param ywQuickModel 瀹炰綋瀵硅薄 + * @return Integer + */ + Integer create(YwQuickModel ywQuickModel); + + /** + * 涓婚敭鍒犻櫎 + * + * @param id 涓婚敭 + */ + void deleteById(Integer id); + + /** + * 鍒犻櫎 + * + * @param ywQuickModel 瀹炰綋瀵硅薄 + */ + void delete(YwQuickModel ywQuickModel); + + /** + * 鎵归噺涓婚敭鍒犻櫎 + * + * @param ids 涓婚敭闆� + */ + void deleteByIdInBatch(List<Integer> ids); + + /** + * 涓婚敭鏇存柊 + * + * @param ywQuickModel 瀹炰綋瀵硅薄 + */ + void updateById(YwQuickModel ywQuickModel); + + /** + * 鎵归噺涓婚敭鏇存柊 + * + * @param ywQuickModels 瀹炰綋闆� + */ + void updateByIdInBatch(List<YwQuickModel> ywQuickModels); + + /** + * 涓婚敭鏌ヨ + * + * @param id 涓婚敭 + * @return YwQuickModel + */ + YwQuickModel findById(Integer id); + + /** + * 鏉′欢鏌ヨ鍗曟潯璁板綍 + * + * @param ywQuickModel 瀹炰綋瀵硅薄 + * @return YwQuickModel + */ + YwQuickModel findOne(YwQuickModel ywQuickModel); + + /** + * 鏉′欢鏌ヨ + * + * @param ywQuickModel 瀹炰綋瀵硅薄 + * @return List<YwQuickModel> + */ + List<YwQuickModel> findList(YwQuickModel ywQuickModel); + + /** + * 鍒嗛〉鏌ヨ + * + * @param pageWrap 鍒嗛〉瀵硅薄 + * @return PageData<YwQuickModel> + */ + PageData<YwQuickModel> findPage(PageWrap<YwQuickModel> pageWrap); + + /** + * 鏉′欢缁熻 + * + * @param ywQuickModel 瀹炰綋瀵硅薄 + * @return long + */ + long count(YwQuickModel ywQuickModel); +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java index 73454a9..1f24ecb 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java @@ -4,6 +4,9 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.YwRoom; +import com.doumee.dao.business.vo.YwFloorStatusDataVO; +import com.doumee.dao.business.vo.YwRoomContractDataVO; + import java.util.List; /** @@ -95,4 +98,9 @@ * @return long */ long count(YwRoom ywRoom); + + List<YwFloorStatusDataVO> getRoomStatusList(YwRoom model); + + + YwRoomContractDataVO getRoomContract(YwRoom model); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java new file mode 100644 index 0000000..be82191 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java @@ -0,0 +1,116 @@ +package com.doumee.service.business.impl; + +import com.alibaba.druid.sql.visitor.functions.Concat; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.core.model.LoginUserInfo; +import com.doumee.core.model.LoginUserModel; +import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; +import com.doumee.dao.business.ApproveParamMapper; +import com.doumee.dao.business.PlatformLogMapper; +import com.doumee.dao.business.YwQuickModelMapper; +import com.doumee.dao.business.model.YwQuickModel; +import com.doumee.dao.business.vo.MonthDataResponse; +import com.doumee.service.business.WorkbenchesService; +import com.github.xiaoymin.knife4j.core.util.CollectionUtils; +import io.jsonwebtoken.lang.Objects; +import io.swagger.models.auth.In; +import org.apache.tomcat.util.bcel.classfile.Constant; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 瀹℃壒妯$増閰嶇疆淇℃伅琛⊿ervice瀹炵幇 + * @author 姹熻箘韫� + * @date 2023/12/28 11:46 + */ +@Service +public class WorkbenchesServiceImpl implements WorkbenchesService { + + + @Autowired + private YwQuickModelMapper ywQuickModelMapper; + + + + @Override + public List<YwQuickModel> getYwQuickList(LoginUserInfo loginUserInfo){ + List<YwQuickModel> ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda() + .eq(YwQuickModel::getIsdeleted, Constants.ZERO) + .eq(YwQuickModel::getUserId,loginUserInfo.getId()) + .orderByAsc(YwQuickModel::getSort) + ); + if(CollectionUtils.isEmpty(ywQuickModelList)){ + ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda() + .eq(YwQuickModel::getIsdeleted, Constants.ZERO) + .isNull(YwQuickModel::getUserId) + .orderByAsc(YwQuickModel::getSort) + ); + } + return ywQuickModelList; + } + + + @Override + public void updMyYwQuickModel(List<Integer> idList, LoginUserInfo loginUserInfo){ + List<YwQuickModel> ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda() + .eq(YwQuickModel::getIsdeleted, Constants.ZERO) + .isNull(YwQuickModel::getUserId) + .orderByAsc(YwQuickModel::getSort) + ); + if(CollectionUtils.isEmpty(ywQuickModelList) || Constants.equalsInteger(idList.size(),ywQuickModelList.size())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"蹇嵎妯″潡閰嶇疆寮傚父,璇疯仈绯荤鐞嗗憳"); + } + ywQuickModelMapper.delete(new QueryWrapper<YwQuickModel>().lambda().eq(YwQuickModel::getUserId,loginUserInfo.getId())); + List<YwQuickModel> newList = new ArrayList<>(); + for (int i = 0; i < idList.size(); i++) { + Integer id = idList.get(i); + List<YwQuickModel> ywQuickModels = ywQuickModelList.stream().filter(j->Constants.equalsInteger(j.getId(),id)).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(ywQuickModels)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"蹇嵎妯″潡閰嶇疆寮傚父,璇疯仈绯荤鐞嗗憳"); + } + YwQuickModel ywQuickModel = ywQuickModels.get(Constants.ZERO); + ywQuickModel.setId(null); + ywQuickModel.setCreator(loginUserInfo.getId()); + ywQuickModel.setCreateDate(new Date()); + ywQuickModel.setSort(i+1); + ywQuickModel.setUserId(loginUserInfo.getId()); + newList.add(ywQuickModel); + } + ywQuickModelMapper.insert(newList); + } + + + @Override + public List<MonthDataResponse> getMonthNotices(String yearMonth, LoginUserInfo loginUserInfo){ + List<String> dataList = DateUtil.getDayByMonth(yearMonth); + List<MonthDataResponse> monthDataResponseList = new ArrayList<>(); + for (String str:dataList) { + MonthDataResponse monthDataResponse = new MonthDataResponse(); + monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName()); + monthDataResponse.setMonthDate(str); + + monthDataResponseList.add(monthDataResponse); + } + return monthDataResponseList; + + } + + + + + + + + + + + +} 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 ac034cb..713148c 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 @@ -111,11 +111,12 @@ @Override public YwBuilding findById(Integer id) { - - MPJLambdaWrapper<YwBuilding> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(YwBuilding.class ) .selectAs(YwProject::getName,YwBuilding::getProjectName) + .select(" (select ifnull(sum(y.FEE_AREA),0) from yw_room y where y.ISDELETED = 0 and y.status = 0 and y.IS_INVESTMENT = 1 and y.BUILDING_ID = t.id ) ",YwBuilding::getRoomFeeArea) + .select(" (select ifnull(sum(y.RENT_AREA),0) from yw_room y where y.ISDELETED = 0 and y.status = 0 and y.IS_INVESTMENT = 1 and y.BUILDING_ID = t.id ) ",YwBuilding::getRoomRentArea) + .select("",YwBuilding::getRoomFeeArea) .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId) .eq(YwBuilding::getId,id) .last(" limit 1 ") diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java index 5bc2097..a320b59 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java @@ -10,6 +10,7 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.vo.YwContractBillDataVO; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.model.Multifile; import com.doumee.dao.system.model.SystemUser; @@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -282,7 +284,6 @@ YwContractBill model = pageWrap.getModel(); IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class, queryWrapper.selectAll(YwContractBill.class) -// .select(" ( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE else -yw.ACT_RECEIVABLE_FEE end),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") .select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") .selectAs(YwContract::getCode,YwContractBill::getContractCode) .selectAs(YwCustomer::getName,YwContractBill::getCustomerName) @@ -486,4 +487,59 @@ return list; } + + @Override + public YwContractBillDataVO getWaitDealList(Integer contractId){ + YwContractBillDataVO ywContractBillDataVO = new YwContractBillDataVO(); + ywContractBillDataVO.setInAmount(Constants.ZERO); + ywContractBillDataVO.setInFee(BigDecimal.ZERO); + ywContractBillDataVO.setPayAmount(Constants.ZERO); + ywContractBillDataVO.setPayFee(BigDecimal.ZERO); + MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<YwContractBill>(); + queryWrapper.selectAll(YwContractBill.class) + .select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") + .selectAs(YwContract::getCode,YwContractBill::getContractCode) + .selectAs(YwCustomer::getName,YwContractBill::getCustomerName) + .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) + .eq(YwContractBill::getIsdeleted,Constants.ZERO) + .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR) + .eq(YwContractBill::getContractId,contractId) + .orderByDesc(YwContractBill::getId); + List<YwContractBill> list = ywContractBillMapper.selectJoinList(YwContractBill.class,queryWrapper); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + for (YwContractBill ywContractBill:list) { + //闇�鏀堕噾棰� + ywContractBill.setNeedReceivableFee( + ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee()) + ); + //鏀舵璐﹀崟 + if(Constants.equalsInteger(ywContractBill.getBillType(),Constants.ZERO)){ + //搴旀敹閲戦 灏忎簬 瀹炴敹閲戦 澶氭敹閲戦 搴旇鏄��娆� + if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)<Constants.ZERO){ + ywContractBillDataVO.setPayAmount(ywContractBillDataVO.getPayAmount()+1); + ywContractBillDataVO.setPayFee(ywContractBillDataVO.getPayFee().add(ywContractBill.getNeedReceivableFee().abs())); + }else if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)>Constants.ZERO){ + ywContractBillDataVO.setInAmount(ywContractBillDataVO.getInAmount()+1); + ywContractBillDataVO.setInFee(ywContractBillDataVO.getInFee().add(ywContractBill.getNeedReceivableFee().abs())); + } + }else{ + //浠樻璐﹀崟 + //搴斾粯閲戦 灏忎簬 瀹炰粯閲戦 搴旇鏄粯娆炬 + if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)<Constants.ZERO){ + ywContractBillDataVO.setPayAmount(ywContractBillDataVO.getPayAmount()+1); + ywContractBillDataVO.setPayFee(ywContractBillDataVO.getPayFee().add(ywContractBill.getNeedReceivableFee().abs())); + }else{ + ywContractBillDataVO.setInAmount(ywContractBillDataVO.getInAmount()+1); + ywContractBillDataVO.setInFee(ywContractBillDataVO.getInFee().add(ywContractBill.getNeedReceivableFee().abs())); + } + } + } + ywContractBillDataVO.setYwContractBillList(list); + } + + return ywContractBillDataVO; + } + + } 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 375b2f6..96a4593 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 @@ -15,6 +15,7 @@ import com.doumee.dao.business.YwPatrolTaskMapper; import com.doumee.dao.business.YwPatrolTaskRecordMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwPatrolSchemeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -48,6 +49,8 @@ private YwLinePointMapper ywLinePointMapper; @Autowired private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper; + @Autowired + private SystemUserMapper systemUserMapper; @Autowired private RedisTemplate<String, Object> redisTemplate; @@ -315,8 +318,8 @@ YwPatrolScheme model = pageWrap.getModel(); queryWrapper.selectAll(YwPatrolScheme.class) .select(" t2.realName as createUserName ") - .select(" t1.realName as userName ") - .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolScheme::getUserIds) +// .select(" t1.realName as userName ") +// .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolScheme::getUserIds) .leftJoin(" system_user t2 on t.creator = t2.id ") .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO) .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle()) @@ -333,10 +336,24 @@ IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper); for (YwPatrolScheme ywPatrolScheme:iPage.getRecords()) { this.getSchemeStatus(ywPatrolScheme); + //宸℃浜哄憳 + this.getUserNames(ywPatrolScheme); } return PageData.from(iPage); } + + public void getUserNames(YwPatrolScheme ywPatrolScheme){ + if(Objects.nonNull(ywPatrolScheme)&&StringUtils.isNotBlank(ywPatrolScheme.getUserIds())){ + List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda() + .apply(" find_in_set(id,'"+ywPatrolScheme.getUserIds()+"') ") + ); + String userName = String.join(",",systemUserList.stream().map(i->i.getRealname()).collect(Collectors.toList())); + ywPatrolScheme.setUserName(userName); + } + } + + //鑾峰彇鐘舵�� public void getSchemeStatus(YwPatrolScheme ywPatrolScheme){ List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskMapper.selectList(new QueryWrapper<YwPatrolTask>().lambda() 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 2e0587a..81b1493 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 @@ -140,7 +140,21 @@ @Override public YwProject findById(Integer id) { - return ywProjectMapper.selectById(id); + YwProject ywProject = ywProjectMapper.selectById(id); + if(Objects.isNull(ywProject)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Objects.nonNull(ywProject.getAreaId())){ + Areas a = areasService.findById(ywProject.getAreaId(),Constants.TWO); + if(a != null){ + ywProject.setAreaName(a.getName()); + ywProject.setCityId(a.getCityId()); + ywProject.setCityName(a.getCityName()); + ywProject.setProvinceId(a.getProvinceId()); + ywProject.setProvinceName(a.getProvinceName()); + } + } + return ywProject; } @Override @@ -308,7 +322,6 @@ ProjectTree treeBuild = new ProjectTree(projectDataVOList); projectDataVOList = treeBuild.buildTree(); return projectDataVOList; - } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java new file mode 100644 index 0000000..840fe32 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java @@ -0,0 +1,142 @@ +package com.doumee.service.business.impl; + +import com.doumee.core.model.PageData; +import com.doumee.core.model.PageWrap; +import com.doumee.core.utils.Utils; +import com.doumee.dao.business.YwQuickModelMapper; +import com.doumee.dao.business.model.YwQuickModel; +import com.doumee.service.business.YwQuickModelService; +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +/** + * 宸ヤ綔鍙� - 蹇嵎妯″潡Service瀹炵幇 + * @author 姹熻箘韫� + * @date 2025/01/09 17:47 + */ +@Service +public class YwQuickModelServiceImpl implements YwQuickModelService { + + @Autowired + private YwQuickModelMapper ywQuickModelMapper; + + @Override + public Integer create(YwQuickModel ywQuickModel) { + ywQuickModelMapper.insert(ywQuickModel); + return ywQuickModel.getId(); + } + + @Override + public void deleteById(Integer id) { + ywQuickModelMapper.deleteById(id); + } + + @Override + public void delete(YwQuickModel ywQuickModel) { + UpdateWrapper<YwQuickModel> deleteWrapper = new UpdateWrapper<>(ywQuickModel); + ywQuickModelMapper.delete(deleteWrapper); + } + + @Override + public void deleteByIdInBatch(List<Integer> ids) { + if (CollectionUtils.isEmpty(ids)) { + return; + } + ywQuickModelMapper.deleteBatchIds(ids); + } + + @Override + public void updateById(YwQuickModel ywQuickModel) { + ywQuickModelMapper.updateById(ywQuickModel); + } + + @Override + public void updateByIdInBatch(List<YwQuickModel> ywQuickModels) { + if (CollectionUtils.isEmpty(ywQuickModels)) { + return; + } + for (YwQuickModel ywQuickModel: ywQuickModels) { + this.updateById(ywQuickModel); + } + } + + @Override + public YwQuickModel findById(Integer id) { + return ywQuickModelMapper.selectById(id); + } + + @Override + public YwQuickModel findOne(YwQuickModel ywQuickModel) { + QueryWrapper<YwQuickModel> wrapper = new QueryWrapper<>(ywQuickModel); + return ywQuickModelMapper.selectOne(wrapper); + } + + @Override + public List<YwQuickModel> findList(YwQuickModel ywQuickModel) { + QueryWrapper<YwQuickModel> wrapper = new QueryWrapper<>(ywQuickModel); + return ywQuickModelMapper.selectList(wrapper); + } + + @Override + public PageData<YwQuickModel> findPage(PageWrap<YwQuickModel> pageWrap) { + IPage<YwQuickModel> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + QueryWrapper<YwQuickModel> queryWrapper = new QueryWrapper<>(); + Utils.MP.blankToNull(pageWrap.getModel()); + if (pageWrap.getModel().getId() != null) { + queryWrapper.lambda().eq(YwQuickModel::getId, pageWrap.getModel().getId()); + } + if (pageWrap.getModel().getCreator() != null) { + queryWrapper.lambda().eq(YwQuickModel::getCreator, pageWrap.getModel().getCreator()); + } + if (pageWrap.getModel().getCreateDate() != null) { + queryWrapper.lambda().ge(YwQuickModel::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); + queryWrapper.lambda().le(YwQuickModel::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + } + if (pageWrap.getModel().getEditor() != null) { + queryWrapper.lambda().eq(YwQuickModel::getEditor, pageWrap.getModel().getEditor()); + } + if (pageWrap.getModel().getEditDate() != null) { + queryWrapper.lambda().ge(YwQuickModel::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); + queryWrapper.lambda().le(YwQuickModel::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); + } + if (pageWrap.getModel().getIsdeleted() != null) { + queryWrapper.lambda().eq(YwQuickModel::getIsdeleted, pageWrap.getModel().getIsdeleted()); + } + if (pageWrap.getModel().getUserId() != null) { + queryWrapper.lambda().eq(YwQuickModel::getUserId, pageWrap.getModel().getUserId()); + } + if (pageWrap.getModel().getName() != null) { + queryWrapper.lambda().eq(YwQuickModel::getName, pageWrap.getModel().getName()); + } + if (pageWrap.getModel().getPath() != null) { + queryWrapper.lambda().eq(YwQuickModel::getPath, pageWrap.getModel().getPath()); + } + if (pageWrap.getModel().getIcoPath() != null) { + queryWrapper.lambda().eq(YwQuickModel::getIcoPath, pageWrap.getModel().getIcoPath()); + } + if (pageWrap.getModel().getSort() != null) { + queryWrapper.lambda().eq(YwQuickModel::getSort, pageWrap.getModel().getSort()); + } + for(PageWrap.SortData sortData: pageWrap.getSorts()) { + if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { + queryWrapper.orderByDesc(sortData.getProperty()); + } else { + queryWrapper.orderByAsc(sortData.getProperty()); + } + } + return PageData.from(ywQuickModelMapper.selectPage(page, queryWrapper)); + } + + @Override + public long count(YwQuickModel ywQuickModel) { + QueryWrapper<YwQuickModel> wrapper = new QueryWrapper<>(ywQuickModel); + return ywQuickModelMapper.selectCount(wrapper); + } +} 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 fc67f80..af4bcbc 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 @@ -6,12 +6,13 @@ 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.YwBuildingMapper; -import com.doumee.dao.business.YwContractRoomMapper; -import com.doumee.dao.business.YwRoomMapper; -import com.doumee.dao.business.YwWorkorderMapper; +import com.doumee.dao.business.*; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.vo.YwFloorStatusDataVO; +import com.doumee.dao.business.vo.YwRoomContractDataVO; +import com.doumee.dao.business.vo.YwRoomStatusDataVO; import com.doumee.service.business.YwRoomService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -23,8 +24,12 @@ import org.springframework.stereotype.Service; 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.stream.Collectors; /** * 杩愮淮鎴挎簮淇℃伅琛⊿ervice瀹炵幇 @@ -41,7 +46,13 @@ @Autowired private YwContractRoomMapper ywContractRoomMapper; @Autowired + private YwContractMapper ywContractMapper; + + @Autowired private YwWorkorderMapper ywWorkorderMapper; + @Autowired + private YwFloorMapper ywFloorMapper; + @Override public Integer create(YwRoom model) { @@ -247,4 +258,172 @@ QueryWrapper<YwRoom> wrapper = new QueryWrapper<>(ywRoom); return ywRoomMapper.selectCount(wrapper); } + + + + @Override + public List<YwFloorStatusDataVO> getRoomStatusList(YwRoom model){ + if(Objects.isNull(model) + || (Objects.isNull(model.getBuildingId()) && Objects.isNull(model.getFloor()))){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + List<YwFloorStatusDataVO> ywFloorStatusDataVOList = new ArrayList<>(); + List<YwFloor> ywFloorList = ywFloorMapper.selectList(new QueryWrapper<YwFloor>().lambda() + .eq(YwFloor::getIsdeleted,Constants.ZERO) + .eq(Objects.nonNull(model.getBuildingId()),YwFloor::getBuildingId,model.getBuildingId()) + .eq(Objects.nonNull(model.getFloor()),YwFloor::getId,model.getFloor()) + .orderByAsc(YwFloor::getFloor) + ); + List<YwRoom> ywRoomList = ywRoomMapper.selectList(new QueryWrapper<YwRoom>().lambda() + .eq(YwRoom::getIsdeleted,Constants.ZERO) + .eq(YwRoom::getIsInvestment,Constants.ONE) + .eq(YwRoom::getStatus,Constants.ZERO) + .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId()) + .eq(Objects.nonNull(model.getFloor()),YwRoom::getFloor,model.getFloor()) + .orderByAsc(YwRoom::getSortnum) + ); + List<YwRoomStatusDataVO> roomStatusDataList = new ArrayList<>(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywRoomList)){ + for (YwRoom ywRoom:ywRoomList) { + YwRoomStatusDataVO roomStatusDataVO = new YwRoomStatusDataVO(); + roomStatusDataVO.setFloorId(ywRoom.getFloor()); + roomStatusDataVO.setRoomId(ywRoom.getId()); + roomStatusDataVO.setRoomCode(ywRoom.getCode()); + roomStatusDataVO.setRoomRentArea(ywRoom.getRentArea()); + + List<YwContract> roomContractList = ywContractMapper.selectJoinList(YwContract.class,new MPJLambdaWrapper<YwContract>() + .selectAll(YwContract.class) + .selectAs(YwCustomer::getName,YwContract::getRenterName) + .leftJoin(YwContractRoom.class,YwContractRoom::getContractId,YwContract::getId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) + .eq(YwContract::getIsdeleted,Constants.ZERO) + .ge(YwContract::getStartDate, DateUtil.getCurrDateTime()) + .eq(YwContractRoom::getType,Constants.ZERO) + .eq(YwContractRoom::getRoomId,ywRoom.getId()) + .ne(YwContract::getBillStatus,Constants.THREE) + .orderByDesc(YwContract::getStartDate) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(roomContractList)){ + roomStatusDataVO.setRoomStatus(Constants.ZERO); + roomStatusDataVO.setFreeDayAmount(Constants.ZERO); + }else{ + YwContract ywContract = roomContractList.get(Constants.ZERO); + //鍚堝悓鐘舵�� 0寰呮墽琛� 1鎵ц涓� 2宸插埌鏈� 3閫�绉熶腑 4宸查��绉� + //寰呮墽琛�/鎵ц涓�/閫�绉熶腑 鍧囧睘浜庡凡鍑虹 鏍规嵁鍏蜂綋鍒版湡鏃堕棿鍒ゆ柇鏄惁澶勪簬鍗冲皢鍒版湡 90澶� + if(Constants.equalsInteger(ywContract.getStatus(),Constants.ZERO)||Constants.equalsInteger(ywContract.getStatus(),Constants.ONE)|| + Constants.equalsInteger(ywContract.getStatus(),Constants.THREE)){ + roomStatusDataVO.setRoomStatus(Constants.ONE); + roomStatusDataVO.setCustomerName(ywContract.getRenterName()); + if(Constants.equalsInteger(ywContract.getStatus(),Constants.THREE)){ + if(Objects.nonNull(ywContract.getBtDate()) && DateUtil.getBetweenDays(DateUtil.getFomartDate(ywContract.getBtDate(),"yyyy-MM-dd"),DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"))<=90){ + roomStatusDataVO.setRoomStatus(Constants.TWO); + roomStatusDataVO.setOverData(ywContract.getBtDate()); + } + }else{ + if(Objects.nonNull(ywContract.getEndDate()) && DateUtil.getBetweenDays(DateUtil.getFomartDate(ywContract.getEndDate(),"yyyy-MM-dd"),DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"))<=90){ + roomStatusDataVO.setRoomStatus(Constants.TWO); + roomStatusDataVO.setOverData(ywContract.getEndDate()); + } + } + } + } + roomStatusDataList.add(roomStatusDataVO); + } + } + for (YwFloor ywFloor:ywFloorList) { + YwFloorStatusDataVO ywFloorStatusDataVO = new YwFloorStatusDataVO(); + ywFloorStatusDataVO.setFloor(ywFloor.getFloor()); + ywFloorStatusDataVO.setFloorId(ywFloor.getId()); + ywFloorStatusDataVO.setFloorArea(ywFloor.getArea()); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(roomStatusDataList)){ + List<YwRoomStatusDataVO> floorRoomList = roomStatusDataList.stream().filter(i->Objects.nonNull(i.getFloorId())&&Constants.equalsInteger(i.getFloorId(),ywFloor.getId())).collect(Collectors.toList()); + ywFloorStatusDataVO.setYwRoomStatusDataVOList(floorRoomList); + } + ywFloorStatusDataVOList.add(ywFloorStatusDataVO); + } + return ywFloorStatusDataVOList; + } + + + @Override + public YwRoomContractDataVO getRoomContract(YwRoom model){ + if(Objects.isNull(model) + || (Objects.isNull(model.getBuildingId()) && Objects.isNull(model.getProjectId()))){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + YwRoomContractDataVO ywRoomContractDataVO = new YwRoomContractDataVO(); + ywRoomContractDataVO.setInvestmentRoomAmount(Constants.ZERO); + ywRoomContractDataVO.setInvestmentArea(BigDecimal.ZERO); + ywRoomContractDataVO.setLeaseContractAmount(Constants.ZERO); + ywRoomContractDataVO.setLeasePrice(BigDecimal.ZERO); + ywRoomContractDataVO.setLeaseArea(BigDecimal.ZERO); + ywRoomContractDataVO.setLeaseRoomAmount(Constants.ZERO); + + List<YwRoom> ywRoomList = ywRoomMapper.selectList(new QueryWrapper<YwRoom>().lambda() + .eq(YwRoom::getIsdeleted,Constants.ZERO) + .eq(YwRoom::getStatus,Constants.ZERO) + .eq(YwRoom::getIsInvestment,Constants.ONE) + .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId()) + .eq(Objects.nonNull(model.getProjectId()),YwRoom::getProjectId,model.getProjectId()) + .orderByAsc(YwRoom::getSortnum) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywRoomList)){ + return ywRoomContractDataVO; + } + ywRoomContractDataVO.setInvestmentRoomAmount(ywRoomList.size()); + ywRoomContractDataVO.setInvestmentArea(ywRoomList.stream().filter(i->Objects.nonNull(i.getRentArea())).map(i->i.getRentArea()).reduce(BigDecimal.ZERO,BigDecimal::add)); + + List<YwContract> roomContractList = ywContractMapper.selectJoinList(YwContract.class,new MPJLambdaWrapper<YwContract>() + .selectAll(YwContract.class) + .select(" ( select ifnull(sum(yr.RENT_AREA),0) from yw_contract_room y left join yw_room yr on y.room_id = yr.id where y.type = 0 and y.CONTRACT_ID = t.id ) " , YwContract::getTotalArea) + .select(" ( select ifnull(sum(y.TOTLE_FEE),0) from yw_contract_bill y where y.CONTRACT_ID = t.id and y.type = 0 ) " , YwContract::getTotalFee) + .eq(YwContract::getIsdeleted,Constants.ZERO) + .in(YwContract::getStatus,Constants.ONE,Constants.TWO,Constants.THREE) + .ne(YwContract::getBillStatus,Constants.THREE) + .apply(Objects.nonNull(model.getBuildingId()), + " t.id in ( select y.CONTRACT_ID from yw_contract_room y left join yw_room yr on y.room_id = yr.id where y.type = 0 and yr.BUILDING_ID = "+model.getBuildingId()+" ) ") + .apply(Objects.nonNull(model.getProjectId()), + " t.id in ( select y.CONTRACT_ID from yw_contract_room y left join yw_room yr on y.room_id = yr.id where y.type = 0 and yr.PROJECT_ID = "+model.getProjectId()+" ) ") + .apply(Objects.nonNull(model.getProjectId())," ") + .orderByDesc(YwContract::getStartDate) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(roomContractList)){ + return ywRoomContractDataVO; + } + //澶勭悊绉熻祦鍗曚环 鏍规嵁 鍚堝悓绉熻祦鎬婚 / 锛堢璧佹椂闀� * 绉熻祦闈㈢Н锛� + for (YwContract ywContract:roomContractList) { + long contractDayAmount = DateUtil.getBetweenDays(DateUtil.getFomartDate(ywContract.getEndDate(),"yyyy-MM-dd"),DateUtil.getFomartDate(ywContract.getStartDate(),"yyyy-MM-dd")); + if(Objects.nonNull(contractDayAmount) && Objects.nonNull(ywContract.getTotalArea()) && Objects.nonNull(ywContract.getTotalFee())){ + ywRoomContractDataVO.setLeasePrice( + ywRoomContractDataVO.getLeasePrice().add( + ywContract.getTotalFee().divide((ywContract.getTotalArea().multiply(new BigDecimal(Long.toString(contractDayAmount)))),2,BigDecimal.ROUND_HALF_UP) + ) + ); + } + } + + ywRoomContractDataVO.setLeaseContractAmount(roomContractList.size()); + List<Integer> contractId = roomContractList.stream().map(i->i.getId()).collect(Collectors.toList()); + List<YwRoom> ywLeaseRoomList = ywRoomMapper.selectJoinList(YwRoom.class,new MPJLambdaWrapper<YwRoom>() + .selectAll(YwRoom.class) + .leftJoin(YwContractRoom.class,YwContractRoom::getRoomId,YwRoom::getId) + .eq(YwRoom::getIsdeleted,Constants.ZERO) + .eq(YwRoom::getIsInvestment,Constants.ONE) + .eq(YwRoom::getStatus,Constants.ZERO) + .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId()) + .eq(Objects.nonNull(model.getProjectId()),YwRoom::getProjectId,model.getProjectId()) + .in(YwContractRoom::getContractId,contractId) + .orderByAsc(YwRoom::getSortnum) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywLeaseRoomList)){ + ywRoomContractDataVO.setLeaseArea( + ywLeaseRoomList.stream().filter(i->Objects.nonNull(i.getRentArea())).map(i->i.getRentArea()).reduce(BigDecimal.ZERO,BigDecimal::add) + ); + ywRoomContractDataVO.setLeaseRoomAmount(ywLeaseRoomList.size()); + } + return ywRoomContractDataVO; + } + + + } 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 105492a..4346ef6 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 @@ -387,6 +387,7 @@ .selectAs(YwFloor::getName,YwWorkorder::getFloorName) .selectAs(YwBuilding::getName,YwWorkorder::getBuildingName) .selectAs(YwProject::getName,YwWorkorder::getProjectName) + .selectAs(YwProblem::getId,YwWorkorder::getProblemId) .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId) .leftJoin(Category.class,Category::getId,YwWorkorder::getCateId) .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator) @@ -394,6 +395,7 @@ .leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId) .leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId) .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId) + .leftJoin(YwProblem.class,YwProblem::getWorkorderId,YwWorkorder::getId) .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()); @@ -411,6 +413,9 @@ if (pageWrap.getModel().getCreator() != null) { queryWrapper.eq(YwWorkorder::getCreator, pageWrap.getModel().getCreator()); } + if (pageWrap.getModel().getOrigin() != null) { + queryWrapper.eq(YwWorkorder::getOrigin, pageWrap.getModel().getOrigin()); + } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.ge(YwWorkorder::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.le(YwWorkorder::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); -- Gitblit v1.9.3