From cb54e068db9d9816ae38f60f57ad0fe7ca10fca8 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期五, 06 十二月 2024 16:28: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/YwContractServiceImpl.java | 66 ++++++++++++++++++--------------- 1 files changed, 36 insertions(+), 30 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java index 6e2d2d4..f72126a 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java @@ -31,6 +31,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -74,12 +75,20 @@ @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(YwContract model) { isParamValidCreated(model); + + model.setCreator(model.getLoginUserInfo().getId()); model.setIsdeleted(Constants.ZERO); model.setCreateDate(new Date()); - model.setStatus(Constants.ZERO); model.setEditDate(model.getCreateDate()); model.setEditor(model.getCreator()); + if(model.getStartDate().getTime() > System.currentTimeMillis()){ + model.setStatus(Constants.ZERO); + }else if(model.getStartDate().getTime() <= System.currentTimeMillis() && model.getEndDate().getTime() > System.currentTimeMillis()){ + model.setStatus(Constants.ONE); + }else{ + model.setStatus(Constants.TWO); + } model.setStatus(Constants.ZERO);//寰呮墽琛� model.setRemark(getRemarlByParam(model)); ywContractMapper.insert(model); @@ -268,7 +277,7 @@ } model.setTotalArea(new BigDecimal(0)); for(YwRoom r : rooms){ - model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea()))); + model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea()))); } model.setRoomList(rooms); } @@ -353,9 +362,6 @@ update.setBtFee(param.getBtFee()); update.setBtRemark(getbackRentRemarkByParam(param)); ywContractMapper.updateById(update); -// if(1==1){ -// throw new BusinessException(ResponseStatus.NOT_ALLOWED); -// } dealLogBiz(param,Constants.YwLogType.CONTRACT_BACK, param.getLoginUserInfo().getRealname(),getbackRentLogByParam(param)); return param.getId(); } @@ -417,16 +423,8 @@ closeBills.add(bill); noBills.add(bill); } -// if(bill.getStartDate().getTime()>param.getEditDate().getTime()){ -// //濡傛灉杩樻病寮�濮嬶紝璐﹀崟鐩存帴鍏抽棴 -// closeBills.add(bill); -// noBills.add(bill); -// }else{ -// canBills.add(bill); -// } }else if(Constants.equalsInteger(bill.getPayStatus(),Constants.ONE) ){ if(bill.getStartDate().getTime()>param.getBtDate().getTime()){ -// if(bill.getEndDate().getTime()<param.getEditDate().getTime()){ //濡傛灉宸茬粨娓咃紝璐﹀崟鐩存帴鍏抽棴 noBills.add(bill); }else{ @@ -489,6 +487,7 @@ addBill.setContractId(param.getId()); addBill.setType(Constants.ONE); addBill.setStatus(Constants.ZERO); + addBill.setTotleFee(addBill.getReceivableFee()); if(Constants.equalsInteger(addBill.getFeeType(),Constants.ONE)){ addBill.setStartDate(addBill.getPlanPayDate()); addBill.setEndDate(addBill.getPlanPayDate()); @@ -698,12 +697,16 @@ } int num =1; for(int i=0;i<billList1.size();i++){ - billList1.get(i).setSortnum(num); - num++; + if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ZERO)){ + billList1.get(i).setSortnum(num); + num++; + } } for(int i=0;i<billList2.size();i++){ - billList2.get(i).setSortnum(num); - num++; + if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ONE)) { + billList2.get(i).setSortnum(num); + num++; + } } if(model.getId()!=null){ ywContractBillMapper.insert(billList1); @@ -849,34 +852,37 @@ BigDecimal totalFee = new BigDecimal(0); DateCompare dateCompare = DateCompare.dayCompare(bill.getStartDate(),bill.getEndDate(),freeStart, freeEnd); if(Constants.equalsInteger(d.getCircleType(),Constants.ZERO)){ - //0=鍏冩瘡骞崇背澶� + //0=鍏冩瘡骞崇背澶� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环锛� int days = dateCompare.getDay() ; BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); totalFee = new BigDecimal(days).multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.ONE)){ - //1=鍏冩瘡骞崇背鏈� + //1=鍏冩瘡骞崇背鏈� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*绉熻祦闈㈢Н*鍗曚环+涓嶆弧涓�涓湀鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环*12/365锛� BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); BigDecimal month =dateCompare.getMonthFloat(); totalFee = month.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.TWO)){ - //2=鍏冩瘡骞崇背骞� + //2=鍏冩瘡骞崇背骞� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*鍗曚环*闈㈢Н/12+涓嶆弧涓�涓湀鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环/365锛� BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); - BigDecimal year = dateCompare.getYearFloat(); - totalFee = year.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� + BigDecimal month = new BigDecimal(dateCompare.getMonth()); + totalFee = ((month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP)) + .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP))) + .multiply(areas);//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.THREE)){ - //3=鍏冩瘡澶� + //3=鍏冩瘡澶� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勫ぉ鏁�*鍗曚环锛� int days = dateCompare.getDay() ; totalFee = new BigDecimal(days).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.FOUR)){ - //4=鍏冩瘡鏈� + //4=鍏冩瘡鏈� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*鍗曚环+涓嶆弧涓�涓湀鐨勫ぉ鏁�*鍗曚环*12/365 BigDecimal month = dateCompare.getMonthFloat(); totalFee = month.multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.FIVE)){ - //5=鍏冩瘡骞� - BigDecimal year = dateCompare.getYearFloat(); - totalFee = year.multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� + //5=鍏冩瘡骞� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*鍗曚环*闈㈢Н/12+涓嶆弧涓�涓湀鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环/365锛� + BigDecimal month = new BigDecimal(dateCompare.getMonth()); + totalFee =( month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP)) + .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.SIX)){ - //6=鍏冩瘡鍦� + //6=鍏冩瘡鍦� 璐﹀崟閲戦=鍗曚环锛涘彧鏈夐�夋嫨涓�娆℃�т粯娆炬椂锛屾墠鑳介�夋嫨璇ュ崟浠风淮搴︼紱 totalFee =Constants.formatBigdecimal(d.getPrice()); } if(Constants.equalsInteger(model.getRoundedUp(),Constants.ONE)){ @@ -947,7 +953,7 @@ BigDecimal data= new BigDecimal(0); if(roomList!=null){ for(YwRoom r :roomList){ - data = data.add(Constants.formatBigdecimal(r.getArea())); + data = data.add(Constants.formatBigdecimal(r.getRentArea())); } } @@ -1141,7 +1147,7 @@ } model.setTotalArea(new BigDecimal(0)); for(YwRoom r : rooms){ - model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea()))); + model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea()))); } model.setRoomList(rooms); YwCustomer customer = customerMapper.selectById(model.getRenterId()); -- Gitblit v1.9.3