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

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java |  148 +++++++++++++++++++++++++++++++------------------
 1 files changed, 93 insertions(+), 55 deletions(-)

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..b090fe2 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.model.YwContractBill;
+import com.doumee.dao.business.YwContractRoomMapper;
+import com.doumee.dao.business.model.*;
+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 com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 杩愮淮鍚堝悓璐﹀崟淇℃伅琛⊿ervice瀹炵幇
@@ -28,9 +39,67 @@
     @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())
+                || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywContractBill.getYwContractRoomList())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = ywContractBill.getLoginUserInfo();
+        ywContractBill.setReceivableFee(ywContractBill.getTotleFee());
+        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_CONTRACT_BILL_FILE.getKey());
+                multifile.setObjId(ywContractBill.getId());
+            }
+            multifileMapper.insert(ywContractBill.getMultifileList());
+        }
+
         return ywContractBill.getId();
     }
 
@@ -88,61 +157,30 @@
     @Override
     public PageData<YwContractBill> findPage(PageWrap<YwContractBill> pageWrap) {
         IPage<YwContractBill> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<YwContractBill> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(YwContractBill::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(YwContractBill::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(YwContractBill::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(YwContractBill::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getStatus, pageWrap.getModel().getStatus());
-        }
-        if (pageWrap.getModel().getStartDate() != null) {
-            queryWrapper.lambda().ge(YwContractBill::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
-            queryWrapper.lambda().le(YwContractBill::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate()));
-        }
-        if (pageWrap.getModel().getEndDate() != null) {
-            queryWrapper.lambda().ge(YwContractBill::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()));
-            queryWrapper.lambda().le(YwContractBill::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
-        }
-        if (pageWrap.getModel().getDetailId() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getDetailId, pageWrap.getModel().getDetailId());
-        }
-        if (pageWrap.getModel().getContractId() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getContractId, pageWrap.getModel().getContractId());
-        }
-        if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getSortnum, pageWrap.getModel().getSortnum());
-        }
-        if (pageWrap.getModel().getTotleFee() != null) {
-            queryWrapper.lambda().eq(YwContractBill::getTotleFee, pageWrap.getModel().getTotleFee());
-        }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+
+        YwContractBill model = pageWrap.getModel();
+
+        ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
+            queryWrapper.selectAll(YwContractBill.class)
+                    .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)
+                    .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getCustomerName()),
+                            YwCustomer::getName,model.getCustomerName())
+                    .eq(Objects.nonNull(model)&&Objects.nonNull(model.getStatus()),
+                            YwContractBill::getStatus,model.getStatus())
+                    .eq(Objects.nonNull(model)&&Objects.nonNull(model.getPayStatus()),
+                            YwContractBill::getPayStatus,model.getPayStatus())
+                    .eq(Objects.nonNull(model)&&Objects.nonNull(model.getType()),
+                            YwContractBill::getType,model.getType())
+                .ge(YwContractBill::getPlanPayDate, Utils.Date.getStart(model.getPlanPayDateStart()))
+                .le(YwContractBill::getPlanPayDate, Utils.Date.getEnd(model.getPlanPayDateEnd())) )
+        ;
+
         return PageData.from(ywContractBillMapper.selectPage(page, queryWrapper));
     }
 

--
Gitblit v1.9.3