From 0b87957ee3e835c843408fc19bec659ca161fad8 Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 25 十一月 2024 18:41:50 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java | 372 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 307 insertions(+), 65 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java index 7a0754c..d637c75 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java @@ -7,26 +7,32 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; -import com.doumee.dao.business.YwAccountMapper; -import com.doumee.dao.business.YwContractBillMapper; -import com.doumee.dao.business.YwContractRevenueMapper; +import com.doumee.dao.business.*; import com.doumee.dao.business.dao.CompanyMapper; -import com.doumee.dao.business.model.Company; -import com.doumee.dao.business.model.YwAccount; -import com.doumee.dao.business.model.YwContractBill; -import com.doumee.dao.business.model.YwContractRevenue; +import com.doumee.dao.business.model.*; +import com.doumee.dao.business.vo.EditRecordDataVO; +import com.doumee.dao.system.MultifileMapper; +import com.doumee.dao.system.SystemUserMapper; +import com.doumee.dao.system.model.Multifile; +import com.doumee.dao.system.model.SystemUser; 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 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.transaction.annotation.Transactional; 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; /** * 杩愮淮鍚堝悓鏀舵敮娴佹按Service瀹炵幇 @@ -43,12 +49,26 @@ private YwContractBillMapper ywContractBillMapper; @Autowired + private YwContractMapper ywContractMapper; + + @Autowired private CompanyMapper companyMapper; @Autowired private YwAccountMapper ywAccountMapper; + @Autowired + private MultifileMapper multifileMapper; + + @Autowired + private YwContractRoomMapper ywContractRoomMapper; + + @Autowired + private SystemUserMapper systemUserMapper; + + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer create(YwContractRevenue ywContractRevenue) { if(Objects.isNull(ywContractRevenue) || Objects.isNull(ywContractRevenue.getActReceivableFee()) @@ -57,12 +77,23 @@ || Objects.isNull(ywContractRevenue.getCompanyId()) || Objects.isNull(ywContractRevenue.getAccountId()) || Objects.isNull(ywContractRevenue.getBillId()) + || ywContractRevenue.getActReceivableFee().compareTo(BigDecimal.ZERO) <= Constants.ZERO ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } YwContractBill ywContractBill = ywContractBillMapper.selectById(ywContractRevenue.getBillId()); if(Objects.isNull(ywContractBill)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌璐﹀崟淇℃伅"); + } + if(!Constants.equalsInteger(ywContractBill.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璐﹀崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�"); + } + if(!(Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ZERO) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.TWO) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.THREE) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.FOUR) + )){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璐﹀崟缁撴竻鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�"); } Company company =companyMapper.selectById(ywContractRevenue.getCompanyId()); if(Objects.isNull(company)){ @@ -78,15 +109,75 @@ ywContractRevenue.setIsdeleted(Constants.ZERO); ywContractRevenue.setStatus(Constants.ZERO); ywContractRevenue.setContractId(ywContractBill.getContractId()); - ywContractRevenue.setRevenueType(ywContractBill.getBillType()); - ywContractRevenueMapper.insert(ywContractRevenue); //鏍规嵁鏀舵敮鎯呭喌 鏇存柊璐﹀崟鏁版嵁 - - - - - - + //鏌ヨ褰撳墠璐﹀崟涓� 宸叉敮浠樼殑璐圭敤 + List<YwContractRevenue> ywContractRevenueList = ywContractRevenueMapper.selectList(new QueryWrapper<YwContractRevenue>().lambda().eq(YwContractRevenue::getIsdeleted,Constants.ZERO) + .eq(YwContractRevenue::getStatus,Constants.ZERO) + ); + //宸叉敮浠橀噾棰� + BigDecimal payTotal = BigDecimal.ZERO; + //寰呮敮浠橀噾棰� + BigDecimal waitPayTotal = BigDecimal.ZERO; + //鏃犱粯娆捐褰� 鍒欎负鍒濇鏀粯 鏍规嵁璐﹀崟绫诲瀷 鍒ゆ柇鏄敮鍑� / 鏀跺叆 + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywContractRevenueList)){ + ywContractRevenue.setRevenueType(ywContractBill.getType()); + if(ywContractRevenue.getActReceivableFee().compareTo(ywContractBill.getReceivableFee())>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇疯緭鍏ユ纭殑閲戦锛�"); + }else if(ywContractRevenue.getActReceivableFee().compareTo(ywContractBill.getReceivableFee())==Constants.ZERO){ + ywContractBill.setPayStatus(Constants.ONE); + }else{ + ywContractBill.setPayStatus(Constants.TWO); + } + }else{ + //鑾峰彇宸叉敮浠樼殑鎬婚噾棰� 锛堝彲鑳芥湁鏀跺叆 鏈夋敮鍑猴級 + payTotal = ywContractRevenueList.stream().map(i->i.getActReceivableFee().multiply( + BigDecimal.valueOf(Constants.equalsInteger(ywContractRevenue.getRevenueType(),Constants.ZERO)?Constants.ONE:-Constants.ONE)) + ).reduce(BigDecimal.ZERO,BigDecimal::add); + //鑾峰彇寰呮敮浠樻閲戦 濡傛灉璐﹀崟绫诲瀷涓烘敮鍑� 鎴� 锛堣处鍗曠被鍨嬩负鏀跺叆 涓� 寰呮敮浠橀噾棰� 灏忎簬 0锛� 鍒欎负鏀粯 + waitPayTotal = ywContractBill.getReceivableFee().subtract(payTotal); + //濡傛灉寰呮敮浠橀噾棰� 澶т簬 0 鍒欐槸 鏀跺叆 鍚﹀垯鏄敮鍑� 鍏朵粬鐘舵�� 涓哄紓甯革紒 + if(waitPayTotal.compareTo(BigDecimal.ZERO)>Constants.ZERO){ + ywContractRevenue.setRevenueType(Constants.ZERO); + }else if(waitPayTotal.compareTo(BigDecimal.ZERO)<Constants.ZERO){ + ywContractRevenue.setRevenueType(Constants.ONE); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏀舵敮閲戦寮傚父!璇疯仈绯荤鐞嗗憳"); + } + //寰呮敮浠樼殑娴佹按 濡傛灉涓烘敹鍏� 鍒欐瘮瀵� 閲戦鍊� 濡傛灉鏄敮鍑� 鍒欒幏鍙栫粷瀵瑰�� 杩涜瀵规瘮 + if(Constants.equalsInteger(ywContractRevenue.getRevenueType(),Constants.ZERO)){ + //濡傛灉鏀粯閲戦 澶т簬 寰呮敮浠橀噾棰� 鍒欐彁绀哄紓甯� 濡傛灉鏀粯閲戦灏忎簬 寰呮敮浠橀噾棰� 鍒欑姸鎬佷笉鍙樺寲 鍏朵粬鐘舵�� 寮傚父 + if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇疯緭鍏ユ纭殑閲戦锛�"); + }else if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())==Constants.ZERO){ + ywContractBill.setPayStatus(Constants.ONE); + } + }else{ + waitPayTotal = waitPayTotal.abs(); + if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇疯緭鍏ユ纭殑閲戦锛�"); + }else if(waitPayTotal.compareTo(ywContractRevenue.getActReceivableFee())==Constants.ZERO){ + ywContractBill.setPayStatus(Constants.ONE); + } + } + } + ywContractRevenueMapper.insert(ywContractRevenue); + ywContractBillMapper.updateById(ywContractBill); + //瀛樺偍闄勪欢淇℃伅 + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRevenue.getMultifileList())){ + for (Multifile multifile:ywContractRevenue.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_REVENUE_FILE.getKey()); + multifile.setObjId(ywContractRevenue.getId()); + } + multifileMapper.insert(ywContractRevenue.getMultifileList()); + } return ywContractRevenue.getId(); } @@ -130,6 +221,120 @@ } @Override + public YwContractRevenue getDetail(Integer id) { + YwContractRevenue ywContractRevenue = ywContractRevenueMapper.selectJoinOne( + YwContractRevenue.class, + new MPJLambdaWrapper<YwContractRevenue>().selectAll(YwContractRevenue.class) + .selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode) + .selectAs(YwContract::getCode,YwContractRevenue::getContractCode) + .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName) + .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname) + .leftJoin(YwContractBill.class,YwContractBill::getId,YwContractRevenue::getBillId) + .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) + .leftJoin(SystemUser.class,SystemUser::getId,YwContractRevenue::getCreator) + .eq(YwContractRevenue::getId,id) + ); + + this.getRecordData(ywContractRevenue); + + return ywContractRevenue; + } + + /** + * 鎿嶄綔璁板綍 + * @param ywContractRevenue + */ + public void getRecordData(YwContractRevenue ywContractRevenue){ + List<EditRecordDataVO> editRecordDataVOList = new ArrayList(); + //妯℃嫙娴佹按璁板綍 + if(Objects.nonNull(ywContractRevenue.getCreateDate())){ + EditRecordDataVO editRecordDataVO = new EditRecordDataVO(); + editRecordDataVO.setEditRemark("鍒涘缓娴佹按"); + editRecordDataVO.setEditTime(ywContractRevenue.getCreateDate()); + SystemUser createUser = systemUserMapper.selectById(ywContractRevenue.getCreator()); + if(Objects.nonNull(createUser)){ + editRecordDataVO.setEditUserName(createUser.getRealname()); + } + editRecordDataVOList.add(editRecordDataVO); + } + if(Objects.nonNull(ywContractRevenue.getEditor())){ + EditRecordDataVO editRecordDataVO = new EditRecordDataVO(); + editRecordDataVO.setEditRemark("鍏抽棴娴佹按"); + editRecordDataVO.setEditTime(ywContractRevenue.getEditDate()); + SystemUser closeUser = systemUserMapper.selectById(ywContractRevenue.getEditor()); + if(Objects.nonNull(closeUser)){ + editRecordDataVO.setEditUserName(closeUser.getRealname()); + } + editRecordDataVOList.add(editRecordDataVO); + } + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(editRecordDataVOList)){ + ywContractRevenue.setEditRecordDataVOList(editRecordDataVOList); + } + } + + + @Override + public void closeRevenue(Integer id,LoginUserInfo loginUserInfo) { + YwContractRevenue ywContractRevenue = ywContractRevenueMapper.selectById(id); + if(Objects.isNull(ywContractRevenue)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + YwContractBill ywContractBill = ywContractBillMapper.selectById(ywContractRevenue.getBillId()); + if(Objects.isNull(ywContractBill)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + YwContract ywContract = ywContractMapper.selectById(ywContractBill.getContractId()); + if(Objects.isNull(ywContract)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Constants.equalsInteger(ywContract.getStatus(),Constants.THREE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝悓鐘舵�佸凡娴佽浆,鏃犳硶鎿嶄綔"); + } + if(Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ONE) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.TWO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璐﹀崟鐘舵�佸凡娴佽浆,鏃犳硶鎿嶄綔"); + } + //鏌ヨ璐﹀崟涓� 鎵�鏈夌殑璐﹀崟 + List<YwContractRevenue> ywContractRevenueList = ywContractRevenueMapper.selectList(new QueryWrapper<YwContractRevenue>().lambda().eq(YwContractRevenue::getStatus,Constants.ZERO) + .eq(YwContractRevenue::getIsdeleted,Constants.ZERO) + .eq(YwContractRevenue::getBillId,ywContractRevenue.getBillId()) + .ne(YwContractRevenue::getId,id) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywContractRevenueList)){ + //鏃犲叾浠栨祦姘磋褰� 鏍规嵁璐﹀崟鍒涘缓绫诲瀷 鍙樻洿鐘舵�� + //鑷缓璐﹀崟 鏍规嵁璐﹀崟鏀舵敮绫诲瀷杩涜 鍙樻洿鐘舵�� + if(Constants.equalsInteger(ywContractBill.getType(),Constants.ONE)){ + if(Constants.equalsInteger(ywContractBill.getBillType(),Constants.ZERO)){ + ywContractBill.setPayStatus(Constants.ZERO); + }else{ + ywContractBill.setPayStatus(Constants.THREE); + } + }else{ + //鍚堝悓璐﹀崟 鍙樹负 寰呮敹娆� + ywContractBill.setPayStatus(Constants.ZERO); + } + }else{ + //瀛樺湪鍏朵粬娴佹按 鍒欑粺涓�鍙樻洿涓� 閮ㄥ垎缁撶畻 + ywContractBill.setPayStatus(Constants.TWO); + } + + ywContractBillMapper.update(null,new UpdateWrapper<YwContractBill>().lambda() + .set(YwContractBill::getPayStatus,ywContractBill.getPayStatus()) + .set(YwContractBill::getEditor,loginUserInfo.getId()) + .set(YwContractBill::getEditDate," now() ") + .eq(YwContractBill::getId,ywContractBill.getId()) + ); + + ywContractRevenueMapper.update(null,new UpdateWrapper<YwContractRevenue>().lambda() + .set(YwContractRevenue::getStatus,Constants.ONE) + .set(YwContractRevenue::getEditor,loginUserInfo.getId()) + .set(YwContractRevenue::getEditDate," now() ") + .eq(YwContractRevenue::getId,id)); + } + + + @Override public YwContractRevenue findOne(YwContractRevenue ywContractRevenue) { QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue); return ywContractRevenueMapper.selectOne(wrapper); @@ -137,67 +342,104 @@ @Override public List<YwContractRevenue> findList(YwContractRevenue ywContractRevenue) { - QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue); - return ywContractRevenueMapper.selectList(wrapper); + List<YwContractRevenue> ywContractRevenueList = 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::getStatus,Constants.ZERO) + .eq(Objects.nonNull(ywContractRevenue) && Objects.nonNull(ywContractRevenue.getBillId()),YwContractRevenue::getBillId,ywContractRevenue.getBillId()) + ); + return ywContractRevenueList; } @Override public PageData<YwContractRevenue> findPage(PageWrap<YwContractRevenue> pageWrap) { IPage<YwContractRevenue> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<YwContractRevenue> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<YwContractRevenue> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(YwContractRevenue::getId, pageWrap.getModel().getId()); + YwContractRevenue model = pageWrap.getModel(); + IPage<YwContractRevenue> iPage = ywContractRevenueMapper.selectJoinPage(page,YwContractRevenue.class, + queryWrapper.selectAll(YwContractRevenue.class) + .selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode) + .selectAs(YwContract::getCode,YwContractRevenue::getContractCode) + .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName) + .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname) + .leftJoin(YwContractBill.class,YwContractBill::getId,YwContractRevenue::getBillId) + .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) + .leftJoin(SystemUser.class,SystemUser::getId,YwContractRevenue::getCreator) + .eq(YwContractRevenue::getIsdeleted,Constants.ZERO) + .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getCustomerNme()), + YwCustomer::getName,model.getCustomerNme()) + .eq(Objects.nonNull(model)&&Objects.nonNull(model.getPayType()), + YwContractRevenue::getPayType,model.getPayType()) + .eq(Objects.nonNull(model)&&Objects.nonNull(model.getRevenueType()), + YwContractRevenue::getRevenueType,model.getRevenueType()) + .ge(Objects.nonNull(model)&&Objects.nonNull(model.getPayDateStart()),YwContractRevenue::getActPayDate, Utils.Date.getStart(model.getPayDateStart())) + .le(Objects.nonNull(model)&&Objects.nonNull(model.getPayDateEnd()),YwContractRevenue::getActPayDate, Utils.Date.getEnd(model.getPayDateEnd())) ) + ; + + this.dealRoomDetail(iPage.getRecords()); + + for (YwContractRevenue ywContractRevenue:iPage.getRecords()) { + //妤煎畤鍚嶇О + List<YwContractRoom> ywContractRoomList = ywContractRevenue.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(";"); + } + } + ywContractRevenue.setRoomPathName(roomPathName.toString()); } - 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(iPage); + } + + + public void dealRoomDetail(List<YwContractRevenue> ywContractRevenueList){ + //鏌ヨ璐﹀崟涓嬬殑妤煎畤鏁版嵁 + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRevenueList)){ + //鑾峰彇鎵�鏈夋暟鎹� + List<Integer> billIdList = ywContractRevenueList.stream().map(i->i.getBillId()).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 (YwContractRevenue ywContractRevenue:ywContractRevenueList) { + ywContractRevenue.setYwContractRoomList( + ywContractRoomList.stream().filter(i->Constants.equalsInteger(i.getContractId(),ywContractRevenue.getBillId())).collect(Collectors.toList()) + ); + } + } } } - return PageData.from(ywContractRevenueMapper.selectPage(page, queryWrapper)); } + @Override public long count(YwContractRevenue ywContractRevenue) { QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue); -- Gitblit v1.9.3