From bc46f9370b6ea7a4592eed2827f4f0368e4ba3b5 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 26 十一月 2024 09:42:23 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 77 insertions(+), 23 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 b0d9f23..cd31b01 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 @@ -8,10 +8,7 @@ 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.YwContractRevenueMapper; -import com.doumee.dao.business.YwContractRoomMapper; -import com.doumee.dao.business.YwRoomMapper; +import com.doumee.dao.business.*; import com.doumee.dao.business.model.*; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.model.Multifile; @@ -27,9 +24,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -55,6 +50,8 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; + @Autowired + private YwContractMapper ywContractMapper; @@ -67,18 +64,27 @@ || 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()) + || Objects.nonNull(ywContractBill.getFeeType()) + || (Constants.equalsInteger(ywContractBill.getFeeType(),Constants.ZERO)&& (Objects.isNull(ywContractBill.getStartDate()) + || Objects.isNull(ywContractBill.getEndDate()))) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + 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(),"鍚堝悓鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�"); + } + LoginUserInfo loginUserInfo = ywContractBill.getLoginUserInfo(); ywContractBill.setReceivableFee(ywContractBill.getTotleFee()); ywContractBill.setCreateDate(new Date()); ywContractBill.setCreator(loginUserInfo.getId()); ywContractBill.setIsdeleted(Constants.ZERO); - ywContractBill.setType(Constants.contractBillType.create); + ywContractBill.setType(Constants.ONE); ywContractBill.setStatus(Constants.ZERO); ywContractBillMapper.insert(ywContractBill); @@ -158,6 +164,7 @@ } + @Override public YwContractBill getDetail(Integer id) { YwContractBill ywContractBill = ywContractBillMapper.selectJoinOne(YwContractBill.class, new MPJLambdaWrapper<YwContractBill>().selectAll(YwContractBill.class) @@ -171,6 +178,7 @@ if(Objects.isNull(ywContractBill)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } + //鎴挎簮鏁版嵁 ywContractBill.setYwContractRoomList(ywContractRoomMapper.selectJoinList(YwContractRoom.class,new MPJLambdaWrapper<YwContractRoom>() .selectAll(YwContractRoom.class) @@ -184,16 +192,7 @@ .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) @@ -247,8 +246,8 @@ 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())) ) + .ge(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateStart()),YwContractBill::getPlanPayDate, Utils.Date.getStart(model.getPlanPayDateStart())) + .le(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateEnd()),YwContractBill::getPlanPayDate, Utils.Date.getEnd(model.getPlanPayDateEnd())) ) ; this.dealRoomDetail(iPage.getRecords()); for (YwContractBill ywContractBill:iPage.getRecords()) { @@ -256,6 +255,16 @@ ywContractBill.setNeedReceivableFee( ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee()) ); + //鏄惁閫炬湡 + if(Constants.equalsInteger(ywContractBill.getStatus(),Constants.ZERO) && (Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ZERO) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.TWO) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.THREE) + || Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.FOUR)) + && ywContractBill.getEndDate().getTime() < System.currentTimeMillis()){ + ywContractBill.setIsOverdue(Constants.ONE); + }else{ + ywContractBill.setIsOverdue(Constants.ZERO); + } //妤煎畤鍚嶇О List<YwContractRoom> ywContractRoomList = ywContractBill.getYwContractRoomList(); StringBuilder roomPathName = new StringBuilder(); @@ -277,7 +286,6 @@ } } ywContractBill.setRoomPathName(roomPathName.toString()); - } return PageData.from(iPage); @@ -319,4 +327,50 @@ QueryWrapper<YwContractBill> wrapper = new QueryWrapper<>(ywContractBill); return ywContractBillMapper.selectCount(wrapper); } + + + + @Override + public void dealDayBillCode(){ + List<YwContractBill> ywContractBillList = ywContractBillMapper.selectJoinList(YwContractBill.class, + new MPJLambdaWrapper<YwContractBill>() + .selectAll(YwContractBill.class) + .select(" DATE(CREATE_DATE) as codeDate") + .isNull(YwContractBill::getCode) + .orderByAsc(YwContractBill::getId) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBillList)){ + List<String> codeDateList = ywContractBillList.stream().map(i->i.getCodeDate()).collect(Collectors.toList()); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(codeDateList)){ + Set<String> codeDateSet = new HashSet<String>(codeDateList); + for (String codeDate:codeDateSet) { + //鑾峰彇褰撳墠鏃ユ湡鐨勬暟鎹� + List<YwContractBill> codeDateBillList = + ywContractBillList.stream().filter(i->i.getCodeDate().equals(codeDate)).collect(Collectors.toList()); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(codeDateBillList)){ + continue; + } + //鏌ヨ鏈�澶х殑鍗曞彿 + YwContractBill ywContractBill = ywContractBillMapper.selectOne(new QueryWrapper<YwContractBill>().lambda() + .isNotNull(YwContractBill::getCode) + .apply(" CREATE_DATE like '"+codeDate+"%' ") + .orderByDesc(YwContractBill::getId) + ); + Integer maxCode = Constants.ONE; + if(Objects.nonNull(ywContractBill)){ + maxCode = Integer.valueOf(ywContractBill.getCode().replace("ZD"+codeDate,"")); + } + for (YwContractBill contractBill:codeDateBillList) { + maxCode = maxCode + 1; + contractBill.setCode("ZD" + codeDate + "-" + StringUtils.leftPad(maxCode.toString() , 4,"0")); + ywContractBillMapper.update(null, new UpdateWrapper<YwContractBill>().lambda().set(YwContractBill::getCode,contractBill.getCode()) + .eq(YwContractBill::getId,ywContractBill.getId())); + } + } + } + } + } + + + } -- Gitblit v1.9.3