From b142b67b25531fa9df35bb42500596bd7616f319 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 23 十一月 2024 17:18:10 +0800
Subject: [PATCH] 客户资料 巡检任务业务

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                    |   14 ++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java                 |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java             |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java         |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java                   |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java                      |    5 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java              |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                       |   11 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java                |   12 +-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java               |    8 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java     |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java     |    8 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java |  123 ++++++++++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java               |   56 ++++++++++
 14 files changed, 232 insertions(+), 19 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 555a93a..eca4a9b 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
@@ -212,6 +212,19 @@
         public static final  int self = -1;
     }
 
+
+
+    public interface BillPayStatus{
+        //璁垮鐘舵��(0:鏈鍒�,1:宸茬鍒�,2:宸茬閫�,3:婊炵暀,4:鏈闂�,5:鑷姩绛剧,6:鏈閫�)
+        int waitSign = 0;
+        int signin= 1;
+        int signout = 2;
+        int noleave =3;
+        int novisit =4;
+        int autoOut =5;
+        int noSignout =6;
+    }
+
     /**
      * 浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣
      */
@@ -1235,6 +1248,7 @@
         FN_DEVICE_FILE(5, "闃滃畞鏈嶅姟骞冲彴璁惧绫诲瀷鍥剧墖 ", "闃滃畞鏈嶅姟骞冲彴璁惧绫诲瀷鍥剧墖 "),
         FN_DEVICE_RECORD_FILE(6, "闃滃畞鏈嶅姟骞冲彴杩愮淮璁板綍鍥剧墖 ", "闃滃畞鏈嶅姟骞冲彴杩愮淮璁板綍鍥剧墖 "),
         FN_PATROL_POINT_FILE(7, "宸℃鐐归檮浠� ", "宸℃鐐归檮浠� "),
+        FN_CONTRACT_BILL_FILE(8, "鍚堝悓璐﹀崟闄勪欢 ", "鍚堝悓璐﹀崟闄勪欢 "),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
index bfcd847..3b928b1 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -382,7 +382,7 @@
     @CloudRequiredPermission("business:member:create")
     public ApiResponse ywCreate(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         member.setLoginUserInfo(this.getLoginUser(token));
-        memberService.create(member);
+        memberService.ywCreate(member);
         return ApiResponse.success("鎿嶄綔鎴愬姛锛�");
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java
index 36d61b4..7063422 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java
@@ -90,6 +90,6 @@
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:ywcustomer:query")
     public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        return ApiResponse.success(ywCustomerService.findById(id));
+        return ApiResponse.success(ywCustomerService.getDetail(id));
     }
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
index 904306f..e503f64 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
@@ -43,7 +43,7 @@
 
     @ApiOperation("鏍规嵁ID鍒犻櫎")
     @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywfloor:delete")
+    @CloudRequiredPermission("business:ywfloor:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         ywFloorService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
@@ -51,7 +51,7 @@
 
     @ApiOperation("鎵归噺鍒犻櫎")
     @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywfloor:delete")
+    @CloudRequiredPermission("business:ywfloor:delete")
     public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         String [] idArray = ids.split(",");
         List<Integer> idList = new ArrayList<>();
@@ -64,7 +64,7 @@
 
     @ApiOperation("鏍规嵁ID淇敼")
     @PostMapping("/updateById")
-    @RequiresPermissions("business:ywfloor:update")
+    @CloudRequiredPermission("business:ywfloor:update")
     public ApiResponse updateById(@RequestBody YwFloor ywFloor,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         ywFloor.setLoginUserInfo(this.getLoginUser(token));
         ywFloorService.updateById(ywFloor);
@@ -73,7 +73,7 @@
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    @RequiresPermissions("business:ywfloor:query")
+    @CloudRequiredPermission("business:ywfloor:query")
     public ApiResponse<PageData<YwFloor>> findPage (@RequestBody PageWrap<YwFloor> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywFloorService.findPage(pageWrap));
@@ -81,7 +81,7 @@
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywfloor:exportExcel")
+    @CloudRequiredPermission("business:ywfloor:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwFloor> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwFloor.class).export(ywFloorService.findPage(pageWrap).getRecords(), "杩愮淮妤煎眰淇℃伅琛�", response);
@@ -89,7 +89,7 @@
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
-    @RequiresPermissions("business:ywfloor:query")
+    @CloudRequiredPermission("business:ywfloor:query")
     public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         return ApiResponse.success(ywFloorService.findById(id));
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index c40d545..399570e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -64,7 +64,7 @@
     @ApiModelProperty(value = "绫诲瀷 0鍙告満浜哄憳 1鏅�氳瀹�  2鍐呴儴浜哄憳 3瀹㈡埛鑱旂郴浜�", example = "1")
     private Integer type;
 
-    @ApiModelProperty(value = "韬唤 0鑰佹澘 1瓒呯骇绠$悊鍛� 2鍛樺伐", example = "1")
+    @ApiModelProperty(value = "韬唤 0鑰佹澘/瓒呯骇绠$悊鍛� 1浜轰簨/绠$悊鍛� 2鍛樺伐/鏅�氬憳宸�", example = "1")
     @ExcelColumn(name="韬唤 0鑰佹澘 1瓒呯骇绠$悊鍛� 2鍛樺伐")
     private Integer highCheckor;
 
@@ -130,7 +130,8 @@
     private int memberCardCount;
     @ExcelColumn(name="宸ュ彿",index = 18,width = 8)
     private String code;
-    @ApiModelProperty(value = "璁垮骞撮緞")
+    @ApiModelProperty(value = "鐢熸棩")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date birthday;
 
 
@@ -305,4 +306,10 @@
     @ApiModelProperty(value = "鏄惁鏌ヨ鍥哄畾浜哄憳锛�0=鍚︼紱1=鏄�" )
     @TableField(exist = false)
     private Integer querySpecial;
+
+
+    @ApiModelProperty(value = "瀹㈡埛鍚嶇О", example = "1")
+    @TableField(exist = false)
+    private String customerName;
+
 }
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 017e3be..121375e 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
@@ -1,7 +1,10 @@
 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 com.doumee.core.utils.Constants;
+import com.doumee.dao.system.model.Multifile;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -11,6 +14,7 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 杩愮淮鍚堝悓璐﹀崟淇℃伅琛�
@@ -56,8 +60,8 @@
     @ApiModelProperty(value = "绫诲瀷 0绉熻祦鏉℃ 1鐗╀笟鏉℃ 2绉熻祦鎶奸噾 3鐗╀笟鎶奸噾", example = "1")
     @ExcelColumn(name="绫诲瀷 0绉熻祦鏉℃ 1鐗╀笟鏉℃ 2绉熻祦鎶奸噾 3鐗╀笟鎶奸噾")
     private Integer type;
-    @ApiModelProperty(value = "鐘舵�� 0鏈紑濮嬶紱1杩涜涓紱2宸插畬鎴愶紱", example = "1")
-    @ExcelColumn(name="鐘舵�� 0鏈紑濮嬶紱1杩涜涓紱2宸插畬鎴愶紱")
+    @ApiModelProperty(value = "鐘舵�� 0寮�濮嬶紱1鍏抽棴锛�", example = "1")
+    @ExcelColumn(name="鐘舵�� 0寮�濮嬶紱1鍏抽棴锛�")
     private Integer status;
 
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
@@ -74,6 +78,17 @@
     @ExcelColumn(name="缁撴潫鏃堕棿")
     private Date endDate;
 
+
+    @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;
+
     @ApiModelProperty(value = "鍚堝悓鏉℃缂栫爜锛堝叧鑱攜w_contract_detail)", example = "1")
     @ExcelColumn(name="鍚堝悓鏉℃缂栫爜锛堝叧鑱攜w_contract_detail)")
     private Integer detailId;
@@ -90,4 +105,41 @@
     @ExcelColumn(name="鎬婚噾棰�")
     private BigDecimal totleFee;
 
+    @ApiModelProperty(value = "璐圭敤绫诲瀷锛�0=绉熻祦璐癸紱1=鐗╀笟璐癸紱2=鎶奸噾锛�3=淇濊瘉閲戯紱4=姘寸數璐癸紱5=鏉傞」璐癸紱6=鍏朵粬", example = "1")
+    @ExcelColumn(name="璐圭敤绫诲瀷锛�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=寰呬粯娆�")
+    @ExcelColumn(name="浠樻鐘舵�侊細0=寰呮敹娆撅紱1=宸茬粨娓咃紱2=閮ㄥ垎缁撴竻锛�3=寰呬粯娆�")
+    private Integer payStatus;
+
+    @ApiModelProperty(value = "瀹㈡埛鍚嶇О锛堜粯娆炬柟锛�", example = "1")
+    @TableField(exist = false)
+    private String customerName;
+
+    @ApiModelProperty(value = "鍚堝悓鍚嶇О", example = "1")
+    @TableField(exist = false)
+    private String contractName;
+
+    @ApiModelProperty(value = "鍏徃鍚嶇О", example = "1")
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "闄勪欢淇℃伅", example = "1")
+    @TableField(exist = false)
+    private List<Multifile> multifileList;
+
+
+    @ApiModelProperty(value = "闄勪欢淇℃伅", example = "1")
+    @TableField(exist = false)
+    private List<YwContractRoom> ywContractRoomList;
+
 }
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 798b054..43ac515 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
@@ -56,10 +56,14 @@
     @ExcelColumn(name="鎴挎簮缂栫爜锛堝叧鑱攜w_room)")
     private Integer roomId;
 
-    @ApiModelProperty(value = "鍚堝悓缂栫爜锛堝叧鑱攜w_contract)", example = "1")
-    @ExcelColumn(name="鍚堝悓缂栫爜锛堝叧鑱攜w_contract)")
+    @ApiModelProperty(value = "鍚堝悓缂栫爜鎴栬处鍗曠紪鐮侊紙鍏宠仈yw_contract)", example = "1")
+    @ExcelColumn(name="鍚堝悓缂栫爜鎴栬处鍗曠紪鐮侊紙鍏宠仈yw_contract)")
     private Integer contractId;
 
+    @ApiModelProperty(value = "鍏宠仈绫诲瀷锛�0=鍚堝悓锛�1=鍚堝悓璐﹀崟", example = "1")
+    @ExcelColumn(name="鍏宠仈绫诲瀷锛�0=鍚堝悓锛�1=鍚堝悓璐﹀崟")
+    private Integer type;
+
     @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
     @ExcelColumn(name="鎺掑簭鐮�")
     private Integer sortnum;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
index bfbd718..1ac6d72 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
@@ -154,4 +154,8 @@
     @ApiModelProperty(value = "鍛樺伐鍚嶇О")
     @TableField(exist = false)
     private String memberName;
+
+    @ApiModelProperty(value = "鑱旂郴浜虹數璇�")
+    @TableField(exist = false)
+    private String memberPhone;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
index f479c08..8d46be4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
@@ -53,6 +53,11 @@
     @ExcelColumn(name="鍚嶇О")
     private String name;
 
+    @ApiModelProperty(value = "缂栫爜")
+    @ExcelColumn(name="缂栫爜")
+    private String code;
+
+
     @ApiModelProperty(value = "澶囨敞")
     @ExcelColumn(name="澶囨敞")
     private String remark;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java
index 35ac418..8076116 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java
@@ -64,6 +64,7 @@
      */
     YwCustomer findById(Integer id);
 
+    YwCustomer getDetail(Integer id);
     /**
      * 鏉′欢鏌ヨ鍗曟潯璁板綍
      *
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 12428ac..30f7408 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2197,6 +2197,9 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         Member model = pageWrap.getModel();
         IPage iPage = memberMapper.selectJoinPage(page,Member.class,new MPJLambdaWrapper<Member>()
+                        .selectAll(Member.class)
+                .selectAs(YwCustomer::getName,Member::getCustomerName)
+                .leftJoin(YwCustomer.class,YwCustomer::getId,Member::getCustomerId)
                 .eq(Member::getIsdeleted,Constants.ZERO)
                 .eq(Member::getType,Constants.memberType.customer)
                 .eq(Objects.nonNull(model)&&Objects.nonNull(model.getCustomerId()),Member::getCustomerId,model.getCustomerId())
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 1764e4a..b5003c3 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
@@ -126,7 +126,7 @@
                 .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId);
         Utils.MP.blankToNull(pageWrap.getModel());
         pageWrap.getModel().setIsdeleted(Constants.ZERO);
-        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id) as roomNum"+
+        queryWrapper.select(" (select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id) as roomNum "+
                 ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id and a.IS_INVESTMENT=1) as roomRentNum");
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.eq(YwBuilding::getId, pageWrap.getModel().getId());
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 730db94..b3cdf03 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,21 +1,32 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.YwContractBillMapper;
+import com.doumee.dao.business.YwContractRoomMapper;
 import com.doumee.dao.business.model.YwContractBill;
+import com.doumee.dao.business.model.YwContractRoom;
+import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.model.Multifile;
 import com.doumee.service.business.YwContractBillService;
 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.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 杩愮淮鍚堝悓璐﹀崟淇℃伅琛⊿ervice瀹炵幇
@@ -28,9 +39,65 @@
     @Autowired
     private YwContractBillMapper ywContractBillMapper;
 
+    @Autowired
+    private YwContractRoomMapper ywContractRoomMapper;
+
+    @Autowired
+    private MultifileMapper multifileMapper;
+
     @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.getCostType())
+                || Objects.isNull(ywContractBill.getBillType())
+                || Objects.isNull(ywContractBill.getCompanyId())
+                || Objects.isNull(ywContractBill.getStartDate())
+                || Objects.isNull(ywContractBill.getEndDate())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = ywContractBill.getLoginUserInfo();
+        ywContractBill.setCreateDate(new Date());
+        ywContractBill.setCreator(loginUserInfo.getId());
+        ywContractBill.setIsdeleted(Constants.ZERO);
+        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)
+                || Objects.isNull(ywContractRoom.getRoomId())){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇烽�夋嫨鎴挎簮鏁版嵁");
+                }
+                ywContractRoom.setCreateDate(new Date());
+                ywContractRoom.setCreator(loginUserInfo.getId());
+                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)
+                || StringUtils.isBlank(multifile.getFileurl())
+                || StringUtils.isBlank(multifile.getName())){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢淇℃伅閿欒");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjType(Constants.MultiFile.FN_PATROL_POINT_FILE.getKey());
+                multifile.setObjId(ywContractBill.getId());
+            }
+            multifileMapper.insert(ywContractBill.getMultifileList());
+        }
+
         return ywContractBill.getId();
     }
 
@@ -55,7 +122,61 @@
 
     @Override
     public void updateById(YwContractBill ywContractBill) {
-        ywContractBillMapper.updateById(ywContractBill);
+        if(Objects.isNull(ywContractBill)
+                || Objects.isNull(ywContractBill.getId())
+                || Objects.isNull(ywContractBill.getContractId())
+                || Objects.isNull(ywContractBill.getTotleFee())
+                || Objects.isNull(ywContractBill.getPlanPayData())
+                || Objects.isNull(ywContractBill.getCostType())
+                || Objects.isNull(ywContractBill.getBillType())
+                || Objects.isNull(ywContractBill.getCompanyId())
+                || Objects.isNull(ywContractBill.getStartDate())
+                || Objects.isNull(ywContractBill.getEndDate())
+                || ywContractBill.getTotleFee().compareTo(BigDecimal.ZERO)<=Constants.ZERO
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = ywContractBill.getLoginUserInfo();
+        ywContractBill.setEditDate(new Date());
+        ywContractBill.setEditor(loginUserInfo.getId());
+        if(Constants.equalsInteger(ywContractBill.getBillType(),Constants.ZERO)){
+            ywContractBill.setPayStatus(Constants.ZERO);
+        }else{
+            ywContractBill.setPayStatus(Constants.THREE);
+        }
+        ywContractBillMapper.insert(ywContractBill);
+
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){
+            for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) {
+                if(Objects.isNull(ywContractRoom)
+                        || Objects.isNull(ywContractRoom.getRoomId())){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇烽�夋嫨鎴挎簮鏁版嵁");
+                }
+                ywContractRoom.setCreateDate(new Date());
+                ywContractRoom.setCreator(loginUserInfo.getId());
+                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)
+                        || StringUtils.isBlank(multifile.getFileurl())
+                        || StringUtils.isBlank(multifile.getName())){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢淇℃伅閿欒");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjType(Constants.MultiFile.FN_PATROL_POINT_FILE.getKey());
+                multifile.setObjId(ywContractBill.getId());
+            }
+            multifileMapper.insert(ywContractBill.getMultifileList());
+        }
     }
 
     @Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
index 8d5464e..6f7a36d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
@@ -50,7 +50,7 @@
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer create(YwCustomer ywCustomer) {
         if(Objects.isNull(ywCustomer)
-            || Objects.nonNull(ywCustomer.getType())
+            || Objects.isNull(ywCustomer.getType())
             || StringUtils.isBlank(ywCustomer.getName())
             || Objects.isNull(ywCustomer.getMember())
             || StringUtils.isBlank(ywCustomer.getMember().getName())
@@ -72,8 +72,8 @@
         member.setCreateDate(new Date());
         member.setIsdeleted(Constants.ZERO);
         member.setStatus(Constants.ZERO);
-        member.setCompanyType(ywCustomer.getId());
         member.setType(Constants.memberType.customer);
+        member.setCustomerId(ywCustomer.getId());
         this.checkMember(member);
         memberMapper.insert(member);
 
@@ -128,7 +128,7 @@
     @Override
     public void updateById(YwCustomer ywCustomer) {
         if(Objects.isNull(ywCustomer)
-                || Objects.nonNull(ywCustomer.getType())
+                || Objects.isNull(ywCustomer.getType())
                 || StringUtils.isBlank(ywCustomer.getName())
                 || Objects.isNull(ywCustomer.getMemberId())
         ){
@@ -156,6 +156,7 @@
         return ywCustomerMapper.selectById(id);
     }
 
+    @Override
     public YwCustomer getDetail(Integer id) {
         YwCustomer ywCustomer = ywCustomerMapper.selectById(id);
         if(Objects.isNull(ywCustomer)){
@@ -189,6 +190,7 @@
                 queryWrapper
                 .selectAll(YwCustomer.class)
                 .selectAs(Member::getName,YwCustomer::getMemberName)
+                .selectAs(Member::getPhone,YwCustomer::getMemberPhone)
                 .leftJoin(Member.class,Member::getId,YwCustomer::getMemberId)
                 .eq(YwCustomer::getIsdeleted,Constants.ZERO)
                 .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),YwCustomer::getName,model.getName())

--
Gitblit v1.9.3