From f04e52845f3897d92fd286c6d1efa62f8e8f25a4 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 25 十一月 2024 14:11:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 14 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java | 13 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java | 100 ++++++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRevenueCloudController.java | 91 +++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRevenueService.java | 97 ++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 147 +++++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java | 80 +++---
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRevenueMapper.java | 14 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java | 149 ++++++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java | 1
10 files changed, 661 insertions(+), 45 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 7ab9436..0e40100 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
@@ -51,6 +51,7 @@
public static final String SPECIAL_COMPANY_ID ="SPECIAL_COMPANY_ID" ;
public static final String YW_DEVICE ="YW_DEVICE" ;
public static final String YW_PATROL ="YW_PATROL" ;
+ public static final String YW_CONTRACT_BILL ="YW_CONTRACT_BILL" ;
public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ;
public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ;
@@ -213,6 +214,19 @@
public static final int self = -1;
}
+
+ /**
+ * 璐﹀崟绫诲瀷 0绉熻祦鏉℃ 1鐗╀笟鏉℃ 2绉熻祦鎶奸噾 3鐗╀笟鎶奸噾 4鑷缓璐﹀崟
+ */
+ public interface contractBillType{
+ int lease = 0;
+ int property= 1;
+ int leaseDeposit = 2;
+ int propertyDeposit =3;
+ int create =4;
+ }
+
+
/**
* 浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣
*/
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRevenueCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRevenueCloudController.java
new file mode 100644
index 0000000..19563c3
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRevenueCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+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.core.utils.Constants;
+import com.doumee.dao.business.model.YwContractRevenue;
+import com.doumee.service.business.YwContractRevenueService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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 2024/11/25 10:29
+ */
+@Api(tags = "杩愮淮鍚堝悓鏀舵敮娴佹按")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/ywContractRevenue")
+public class YwContractRevenueCloudController extends BaseController {
+
+ @Autowired
+ private YwContractRevenueService ywContractRevenueService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:ywcontractrevenue:create")
+ public ApiResponse create(@RequestBody YwContractRevenue ywContractRevenue) {
+ return ApiResponse.success(ywContractRevenueService.create(ywContractRevenue));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:ywcontractrevenue:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ ywContractRevenueService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:ywcontractrevenue: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));
+ }
+ ywContractRevenueService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:ywcontractrevenue:update")
+ public ApiResponse updateById(@RequestBody YwContractRevenue ywContractRevenue) {
+ ywContractRevenueService.updateById(ywContractRevenue);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:ywcontractrevenue:query")
+ public ApiResponse<PageData<YwContractRevenue>> findPage (@RequestBody PageWrap<YwContractRevenue> pageWrap) {
+ return ApiResponse.success(ywContractRevenueService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:ywcontractrevenue:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<YwContractRevenue> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(YwContractRevenue.class).export(ywContractRevenueService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓鏀舵敮娴佹按", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:ywcontractrevenue:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(ywContractRevenueService.findById(id));
+ }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRevenueMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRevenueMapper.java
new file mode 100644
index 0000000..39704de
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRevenueMapper.java
@@ -0,0 +1,14 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.YwContractRevenue;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/25 10:29
+ */
+public interface YwContractRevenueMapper extends MPJBaseMapper<YwContractRevenue> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
index a1eeb1c..0981011 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
@@ -28,104 +28,84 @@
@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="鍒涘缓鏃堕棿")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
private Integer editor;
@ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
private String remark;
@ApiModelProperty(value = "璐﹀崟鍚嶇О")
- @ExcelColumn(name="璐﹀崟鍚嶇О")
private String title;
- @ApiModelProperty(value = "绫诲瀷 0绉熻祦鏉℃ 1鐗╀笟鏉℃ 2绉熻祦鎶奸噾 3鐗╀笟鎶奸噾", example = "1")
- @ExcelColumn(name="绫诲瀷 0绉熻祦鏉℃ 1鐗╀笟鏉℃ 2绉熻祦鎶奸噾 3鐗╀笟鎶奸噾")
+ @ApiModelProperty(value = "璐﹀崟缂栧彿")
+ private String code;
+ @ApiModelProperty(value = "绫诲瀷 0绉熻祦鏉℃ 1鐗╀笟鏉℃ 2绉熻祦鎶奸噾 3鐗╀笟鎶奸噾 4鑷缓璐﹀崟", example = "1")
+ @ExcelColumn(name="璐﹀崟鏉ユ簮",index = 12,width = 6,valueMapping = "0=鍚堝悓璐﹀崟;1=鍚堝悓璐﹀崟;2=鍚堝悓璐﹀崟;3=鍚堝悓璐﹀崟;4=鑷缓璐﹀崟;")
private Integer type;
+
@ApiModelProperty(value = "鐘舵�� 0寮�濮嬶紱1鍏抽棴锛�", example = "1")
- @ExcelColumn(name="鐘舵�� 0寮�濮嬶紱1鍏抽棴锛�")
private Integer status;
@ApiModelProperty(value = "寮�濮嬫椂闂�")
- @ExcelColumn(name="寮�濮嬫椂闂�")
+ @ExcelColumn(name="璁¤垂寮�濮嬫棩鏈�",index = 10,width = 6,dateFormat = "yyyy-MM-dd")
private Date startDate;
-
- @ApiModelProperty(value = "瀹為檯浠樻鏃�")
- @ExcelColumn(name="瀹為檯浠樻鏃�")
- private Date actPayDate;
- @ApiModelProperty(value = "璁″垝浠樻鏃�")
- @ExcelColumn(name="璁″垝浠樻鏃�")
- private Date planPayDate;
@ApiModelProperty(value = "缁撴潫鏃堕棿")
- @ExcelColumn(name="缁撴潫鏃堕棿")
+ @ExcelColumn(name="璁¤垂缁撴潫鏃ユ湡",index = 11,width = 6,dateFormat = "yyyy-MM-dd")
private Date endDate;
+ @ApiModelProperty(value = "瀹為檯浠樻鏃�")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date actPayDate;
@ApiModelProperty(value = "璁″垝浠樻鏃�")
- @ExcelColumn(name="璁″垝浠樻鏃�")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date planPayData;
-
- @ApiModelProperty(value = "瀹為檯浠樻鏃�")
- @ExcelColumn(name="瀹為檯浠樻鏃�")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date actPayData;
+ private Date planPayDate;
@ApiModelProperty(value = "鍚堝悓鏉℃缂栫爜锛堝叧鑱攜w_contract_detail)", example = "1")
- @ExcelColumn(name="鍚堝悓鏉℃缂栫爜锛堝叧鑱攜w_contract_detail)")
private Integer detailId;
@ApiModelProperty(value = "鍚堝悓缂栫爜锛堝叧鑱攜w_contract)", example = "1")
- @ExcelColumn(name="鍚堝悓缂栫爜锛堝叧鑱攜w_contract)")
private Integer contractId;
@ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
- @ApiModelProperty(value = "鎬婚噾棰�", example = "1")
- @ExcelColumn(name="鎬婚噾棰�")
+ @ApiModelProperty(value = "璐﹀崟閲戦", example = "1")
+ @ExcelColumn(name="璐﹀崟閲戦",index = 4,width = 6)
private BigDecimal totleFee;
@ApiModelProperty(value = "搴旀敹閲戦", example = "1")
- @ExcelColumn(name="搴旀敹閲戦")
+ @ExcelColumn(name="搴旀敹閲戦",index = 5,width = 6)
private BigDecimal receivableFee;
@ApiModelProperty(value = "璐圭敤绫诲瀷锛�0=绉熻祦璐癸紱1=鐗╀笟璐癸紱2=鎶奸噾锛�3=淇濊瘉閲戯紱4=姘寸數璐癸紱5=鏉傞」璐癸紱6=鍏朵粬", example = "1")
- @ExcelColumn(name="璐圭敤绫诲瀷锛�0=绉熻祦璐癸紱1=鐗╀笟璐癸紱2=鎶奸噾锛�3=淇濊瘉閲戯紱4=姘寸數璐癸紱5=鏉傞」璐癸紱6=鍏朵粬")
+ @ExcelColumn(name="璐圭敤绫诲瀷",index = 8,width = 6,valueMapping = "0=绉熻祦璐�;1=鐗╀笟璐�;2=鎶奸噾;3=淇濊瘉閲�;4=姘寸數璐�;5=鏉傞」璐�;6=鍏朵粬;")
private Integer costType;
@ApiModelProperty(value = "璐﹀崟绫诲瀷锛�0=鏀舵锛�1=浠樻", example = "1")
- @ExcelColumn(name="璐﹀崟绫诲瀷锛�0=鏀舵锛�1=浠樻")
private Integer billType;
@ApiModelProperty(value = "鎵�灞炲叕鍙�", example = "1")
- @ExcelColumn(name="鎵�灞炲叕鍙�")
private Integer companyId;
@ApiModelProperty(value = "浠樻鐘舵�侊細0=寰呮敹娆撅紱1=宸茬粨娓咃紱2=閮ㄥ垎缁撴竻锛�3=寰呬粯娆撅紱4=寰呴��娆撅紱5=宸插叧闂�")
- @ExcelColumn(name="浠樻鐘舵�侊細0=寰呮敹娆撅紱1=宸茬粨娓咃紱2=閮ㄥ垎缁撴竻锛�3=寰呬粯娆撅紱4=寰呴��娆撅紱5=宸插叧闂�")
+ @ExcelColumn(name="缁撴竻鐘舵��",index = 3,width = 6,valueMapping = "0=寰呮敹娆�;1=宸茬粨娓�;2=閮ㄥ垎缁撴竻;3=寰呬粯娆�;4=寰呴��娆�;5=宸插叧闂�;")
private Integer payStatus;
@ApiModelProperty(value = "瀹㈡埛鍚嶇О锛堜粯娆炬柟锛�", example = "1")
+ @ExcelColumn(name="瀹㈡埛鍚嶇О",index = 0,width = 10)
@TableField(exist = false)
private String customerName;
@@ -134,8 +114,14 @@
private String companyName;
@ApiModelProperty(value = "鍚堝悓缂栧彿", example = "1")
+ @ExcelColumn(name="鍚堝悓缂栧彿",index = 2,width = 10)
@TableField(exist = false)
private String contractCode;
+
+ @ApiModelProperty(value = "妤煎畤鎴块棿", example = "1")
+ @ExcelColumn(name="妤煎畤鎴块棿",index = 1,width = 10)
+ @TableField(exist = false)
+ private String roomPathName;
@ApiModelProperty(value = "鎴块棿鏁版嵁", example = "1")
@TableField(exist = false)
@@ -153,14 +139,30 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date planPayDateEnd;
+ @ApiModelProperty(value = "瀹炴敹閲戦")
+ @TableField(exist = false)
+ @ExcelColumn(name="瀹炴敹閲戦",index = 6,width = 6)
+ private BigDecimal actReceivableFee;
+
+ @ApiModelProperty(value = "闇�鏀堕噾棰�")
+ @TableField(exist = false)
+ @ExcelColumn(name="闇�鏀堕噾棰�",index = 7,width = 6)
+ private BigDecimal needReceivableFee;
+
+ @ApiModelProperty(value = "鏄惁閫炬湡锛�0=鍚︼紱1=鏄�")
+ @TableField(exist = false)
+ @ExcelColumn(name="鏄惁閫炬湡",index = 9,width = 6,valueMapping = "0=鏈�炬湡锛�1=宸查�炬湡")
+ private BigDecimal isOverdue;
@ApiModelProperty(value = "闄勪欢淇℃伅", example = "1")
@TableField(exist = false)
private List<Multifile> multifileList;
-
- @ApiModelProperty(value = "闄勪欢淇℃伅", example = "1")
+ @ApiModelProperty(value = "鍏宠仈鎴块棿鏁版嵁", example = "1")
@TableField(exist = false)
private List<YwContractRoom> ywContractRoomList;
+ @ApiModelProperty(value = "鏀舵敮娴佹按", example = "1")
+ @TableField(exist = false)
+ private List<YwContractRevenue> ywContractRevenueList;
}
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
new file mode 100644
index 0000000..0e01ed8
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java
@@ -0,0 +1,100 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+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;
+import java.math.BigDecimal;
+
+/**
+ * 杩愮淮鍚堝悓鏀舵敮娴佹按
+ * @author 姹熻箘韫�
+ * @date 2024/11/25 10:29
+ */
+@Data
+@ApiModel("杩愮淮鍚堝悓鏀舵敮娴佹按")
+@TableName("`yw_contract_revenue`")
+public class YwContractRevenue {
+
+ @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 = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鐘舵�� 0=寮�鍚紱1=鍏抽棴", example = "1")
+ @ExcelColumn(name="鐘舵�� 0=寮�鍚紱1=鍏抽棴")
+ private Integer status;
+
+ @ApiModelProperty(value = "瀹炴敹閲戦", example = "1")
+ @ExcelColumn(name="瀹炴敹閲戦")
+ private BigDecimal actReceivableFee;
+
+ @ApiModelProperty(value = "瀹為檯浠樻鏃�")
+ @ExcelColumn(name="瀹為檯浠樻鏃�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date actPayDate;
+
+ @ApiModelProperty(value = "浠樻绫诲瀷锛�0=鐜伴噾锛�1=缃戦摱杞处锛�2=POS鏈猴紱3=鏀粯瀹濓紱4=寰俊锛�5=杞处鏀エ锛�6=鍏朵粬", example = "1")
+ @ExcelColumn(name="浠樻绫诲瀷锛�0=鐜伴噾锛�1=缃戦摱杞处锛�2=POS鏈猴紱3=鏀粯瀹濓紱4=寰俊锛�5=杞处鏀エ锛�6=鍏朵粬")
+ private Integer payType;
+
+ @ApiModelProperty(value = "鎵�灞炲叕鍙革紙鍏宠仈 company锛�", example = "1")
+ @ExcelColumn(name="鎵�灞炲叕鍙革紙鍏宠仈 company锛�")
+ private Integer companyId;
+
+ @ApiModelProperty(value = "鏀舵敮璐︽埛锛堝叧鑱攜w_account)", example = "1")
+ @ExcelColumn(name="鏀舵敮璐︽埛锛堝叧鑱攜w_account)")
+ private Integer accountId;
+
+ @ApiModelProperty(value = "鍚堝悓涓婚敭锛堝叧鑱攜w_contract锛�", example = "1")
+ @ExcelColumn(name="鍚堝悓涓婚敭锛堝叧鑱攜w_contract锛�")
+ private Integer contractId;
+
+ @ApiModelProperty(value = "璐﹀崟涓婚敭锛堝叧鑱攜w_contract_bill锛�", example = "1")
+ @ExcelColumn(name="璐﹀崟涓婚敭锛堝叧鑱攜w_contract_bill锛�")
+ private Integer billId;
+
+ @ApiModelProperty(value = "鏀舵敮绫诲瀷锛�0=鏀跺叆锛�1=鏀嚭", example = "1")
+ @ExcelColumn(name="鏀舵敮绫诲瀷锛�0=鏀跺叆锛�1=鏀嚭")
+ private Integer revenueType;
+
+
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
+ @TableField(exist = false)
+ private String customerNme;
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
index 43ac515..b4bf766 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
@@ -68,4 +69,16 @@
@ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
+ @ApiModelProperty(value = "椤圭洰鍚嶇О")
+ @TableField(exist = false)
+ private String projectName;
+ @ApiModelProperty(value = "妤煎畤鍚嶇О")
+ @TableField(exist = false)
+ private String buildingName;
+ @ApiModelProperty(value = "妤煎眰鍚嶇О")
+ @TableField(exist = false)
+ private String floorName;
+ @ApiModelProperty(value = "鎴块棿鍚嶇О")
+ @TableField(exist = false)
+ private String roomName;
}
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 ed79f01..8474876 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
@@ -115,4 +115,5 @@
@ApiModelProperty(value = "妤煎眰鍚嶇О")
@TableField(exist = false)
private String floorName;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRevenueService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRevenueService.java
new file mode 100644
index 0000000..5945c12
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRevenueService.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.YwContractRevenue;
+import java.util.List;
+
+/**
+ * 杩愮淮鍚堝悓鏀舵敮娴佹按Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/11/25 10:29
+ */
+public interface YwContractRevenueService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param ywContractRevenue 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(YwContractRevenue ywContractRevenue);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ywContractRevenue 瀹炰綋瀵硅薄
+ */
+ void delete(YwContractRevenue ywContractRevenue);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param ywContractRevenue 瀹炰綋瀵硅薄
+ */
+ void updateById(YwContractRevenue ywContractRevenue);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param ywContractRevenues 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<YwContractRevenue> ywContractRevenues);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return YwContractRevenue
+ */
+ YwContractRevenue findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param ywContractRevenue 瀹炰綋瀵硅薄
+ * @return YwContractRevenue
+ */
+ YwContractRevenue findOne(YwContractRevenue ywContractRevenue);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param ywContractRevenue 瀹炰綋瀵硅薄
+ * @return List<YwContractRevenue>
+ */
+ List<YwContractRevenue> findList(YwContractRevenue ywContractRevenue);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<YwContractRevenue>
+ */
+ PageData<YwContractRevenue> findPage(PageWrap<YwContractRevenue> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param ywContractRevenue 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(YwContractRevenue ywContractRevenue);
+}
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 b090fe2..05c57c5 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
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -8,7 +9,9 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwContractBillMapper;
+import com.doumee.dao.business.YwContractRevenueMapper;
import com.doumee.dao.business.YwContractRoomMapper;
+import com.doumee.dao.business.YwRoomMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
@@ -27,6 +30,7 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 杩愮淮鍚堝悓璐﹀崟淇℃伅琛⊿ervice瀹炵幇
@@ -45,12 +49,21 @@
@Autowired
private MultifileMapper multifileMapper;
+ @Autowired
+ private YwContractRevenueMapper ywContractRevenueMapper;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+
+
+
@Override
public Integer create(YwContractBill ywContractBill) {
if(Objects.isNull(ywContractBill)
|| Objects.isNull(ywContractBill.getContractId())
|| Objects.isNull(ywContractBill.getTotleFee())
- || Objects.isNull(ywContractBill.getPlanPayData())
+ || Objects.isNull(ywContractBill.getPlanPayDate())
|| Objects.isNull(ywContractBill.getCostType())
|| Objects.isNull(ywContractBill.getBillType())
|| Objects.isNull(ywContractBill.getCompanyId())
@@ -65,9 +78,11 @@
ywContractBill.setCreateDate(new Date());
ywContractBill.setCreator(loginUserInfo.getId());
ywContractBill.setIsdeleted(Constants.ZERO);
+ ywContractBill.setType(Constants.contractBillType.create);
ywContractBill.setStatus(Constants.ZERO);
ywContractBillMapper.insert(ywContractBill);
+ //鎴挎簮鏁版嵁
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){
for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) {
if(Objects.isNull(ywContractRoom)
@@ -79,11 +94,11 @@
ywContractRoom.setIsdeleted(Constants.ZERO);
ywContractRoom.setContractId(ywContractBill.getId());
ywContractRoom.setType(Constants.ONE);
-
}
ywContractRoomMapper.insert(ywContractBill.getYwContractRoomList());
}
+ //闄勪欢鏁版嵁
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getMultifileList())){
for (Multifile multifile:ywContractBill.getMultifileList()) {
if(Objects.isNull(multifile)
@@ -142,6 +157,60 @@
return ywContractBillMapper.selectById(id);
}
+
+ public YwContractBill getDetail(Integer id) {
+ YwContractBill ywContractBill = ywContractBillMapper.selectJoinOne(YwContractBill.class,
+ new MPJLambdaWrapper<YwContractBill>().selectAll(YwContractBill.class)
+ .select(" ( select ifnull(sum(yw.ACT_RECEIVABLE_FEE),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)
+ .eq(YwContractBill::getId,id));
+ if(Objects.isNull(ywContractBill)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //鎴挎簮鏁版嵁
+ ywContractBill.setYwContractRoomList(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)
+ .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)
+ .eq(YwContractRoom::getContractId,id)
+ .eq(YwContractRoom::getType,Constants.ONE)
+ ));
+ //鏀舵敮鏄庣粏
+ ywContractBill.setYwContractRevenueList(
+ ywContractRevenueMapper.selectJoinList(YwContractRevenue.class,new MPJLambdaWrapper<YwContractRevenue>()
+ .selectAll(YwContractRevenue.class)
+ .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerNme)
+ .leftJoin(YwContract.class,YwContract::getId,YwContractRevenue::getContractId)
+ .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
+ .eq(YwContractRevenue::getBillId,id)
+ )
+ );
+ //闄勪欢鏁版嵁
+ List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId,id)
+ .eq(Multifile::getObjType,Constants.MultiFile.FN_CONTRACT_BILL_FILE.getKey()));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_CONTRACT_BILL).getCode();
+ for (Multifile multifile:multifileList) {
+ if(StringUtils.isNotBlank(multifile.getFileurl())){
+ multifile.setFileurlFull(path + multifile.getFileurl());
+ }
+ }
+ ywContractBill.setMultifileList(multifileList);
+ }
+ return ywContractBill;
+ }
+
@Override
public YwContractBill findOne(YwContractBill ywContractBill) {
QueryWrapper<YwContractBill> wrapper = new QueryWrapper<>(ywContractBill);
@@ -159,11 +228,10 @@
IPage<YwContractBill> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
-
YwContractBill model = pageWrap.getModel();
-
- ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
+ IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
queryWrapper.selectAll(YwContractBill.class)
+ .select(" ( select ifnull(sum(yw.ACT_RECEIVABLE_FEE),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)
@@ -177,16 +245,83 @@
YwContractBill::getPayStatus,model.getPayStatus())
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getType()),
YwContractBill::getType,model.getType())
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getContractId()),
+ YwContractBill::getContractId,model.getContractId())
.ge(YwContractBill::getPlanPayDate, Utils.Date.getStart(model.getPlanPayDateStart()))
.le(YwContractBill::getPlanPayDate, Utils.Date.getEnd(model.getPlanPayDateEnd())) )
;
+ this.dealRoomDetail(iPage.getRecords());
+ for (YwContractBill ywContractBill:iPage.getRecords()) {
+ //闇�鏀堕噾棰�
+ ywContractBill.setNeedReceivableFee(
+ ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())
+ );
+ //妤煎畤鍚嶇О
+ List<YwContractRoom> ywContractRoomList = ywContractBill.getYwContractRoomList();
+ StringBuilder roomPathName = new StringBuilder();
+ for (YwContractRoom ywContractRoom:ywContractRoomList) {
+ if(StringUtils.isNotBlank(ywContractRoom.getProjectName())){
+ roomPathName.append(ywContractRoom.getProjectName());
+ }
+ if(StringUtils.isNotBlank(ywContractRoom.getBuildingName())){
+ roomPathName.append(ywContractRoom.getBuildingName());
+ }
+ if(StringUtils.isNotBlank(ywContractRoom.getFloorName())){
+ roomPathName.append(ywContractRoom.getFloorName());
+ }
+ if(StringUtils.isNotBlank(ywContractRoom.getRoomName())){
+ roomPathName.append(ywContractRoom.getRoomName());
+ }
+ if(StringUtils.isNotBlank(roomPathName)){
+ roomPathName.append(";");
+ }
+ }
+ ywContractBill.setRoomPathName(roomPathName.toString());
- return PageData.from(ywContractBillMapper.selectPage(page, queryWrapper));
+ }
+
+ return PageData.from(iPage);
}
+
+ public void dealRoomDetail(List<YwContractBill> ywContractBillList){
+ //鏌ヨ璐﹀崟涓嬬殑妤煎畤鏁版嵁
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBillList)){
+ //鑾峰彇鎵�鏈夋暟鎹�
+ List<Integer> billIdList = ywContractBillList.stream().map(i->i.getId()).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)
+ .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)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){
+ for (YwContractBill ywContractBill:ywContractBillList) {
+ ywContractBill.setYwContractRoomList(
+ ywContractRoomList.stream().filter(i->Constants.equalsInteger(i.getContractId(),ywContractBill.getId())).collect(Collectors.toList())
+ );
+ }
+ }
+ }
+ }
+ }
+
@Override
public long count(YwContractBill ywContractBill) {
QueryWrapper<YwContractBill> wrapper = new QueryWrapper<>(ywContractBill);
return ywContractBillMapper.selectCount(wrapper);
}
+
+
+
+
+
}
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
new file mode 100644
index 0000000..01e6e53
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
@@ -0,0 +1,149 @@
+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.YwContractRevenueMapper;
+import com.doumee.dao.business.model.YwContractRevenue;
+import com.doumee.service.business.YwContractRevenueService;
+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 2024/11/25 10:29
+ */
+@Service
+public class YwContractRevenueServiceImpl implements YwContractRevenueService {
+
+ @Autowired
+ private YwContractRevenueMapper ywContractRevenueMapper;
+
+ @Override
+ public Integer create(YwContractRevenue ywContractRevenue) {
+ ywContractRevenueMapper.insert(ywContractRevenue);
+ return ywContractRevenue.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ ywContractRevenueMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(YwContractRevenue ywContractRevenue) {
+ UpdateWrapper<YwContractRevenue> deleteWrapper = new UpdateWrapper<>(ywContractRevenue);
+ ywContractRevenueMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ ywContractRevenueMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(YwContractRevenue ywContractRevenue) {
+ ywContractRevenueMapper.updateById(ywContractRevenue);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<YwContractRevenue> ywContractRevenues) {
+ if (CollectionUtils.isEmpty(ywContractRevenues)) {
+ return;
+ }
+ for (YwContractRevenue ywContractRevenue: ywContractRevenues) {
+ this.updateById(ywContractRevenue);
+ }
+ }
+
+ @Override
+ public YwContractRevenue findById(Integer id) {
+ return ywContractRevenueMapper.selectById(id);
+ }
+
+ @Override
+ public YwContractRevenue findOne(YwContractRevenue ywContractRevenue) {
+ QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue);
+ return ywContractRevenueMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<YwContractRevenue> findList(YwContractRevenue ywContractRevenue) {
+ QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue);
+ return ywContractRevenueMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<YwContractRevenue> findPage(PageWrap<YwContractRevenue> pageWrap) {
+ IPage<YwContractRevenue> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<YwContractRevenue> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(YwContractRevenue::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(YwContractRevenue::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(YwContractRevenue::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(YwContractRevenue::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getRemark() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getRemark, pageWrap.getModel().getRemark());
+ }
+ if (pageWrap.getModel().getStatus() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getStatus, pageWrap.getModel().getStatus());
+ }
+ if (pageWrap.getModel().getActReceivableFee() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getActReceivableFee, pageWrap.getModel().getActReceivableFee());
+ }
+ if (pageWrap.getModel().getActPayDate() != null) {
+ queryWrapper.lambda().ge(YwContractRevenue::getActPayDate, Utils.Date.getStart(pageWrap.getModel().getActPayDate()));
+ queryWrapper.lambda().le(YwContractRevenue::getActPayDate, Utils.Date.getEnd(pageWrap.getModel().getActPayDate()));
+ }
+ if (pageWrap.getModel().getPayType() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getPayType, pageWrap.getModel().getPayType());
+ }
+ if (pageWrap.getModel().getCompanyId() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getCompanyId, pageWrap.getModel().getCompanyId());
+ }
+ if (pageWrap.getModel().getAccountId() != null) {
+ queryWrapper.lambda().eq(YwContractRevenue::getAccountId, pageWrap.getModel().getAccountId());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(ywContractRevenueMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(YwContractRevenue ywContractRevenue) {
+ QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue);
+ return ywContractRevenueMapper.selectCount(wrapper);
+ }
+}
--
Gitblit v1.9.3