From f67075dfb8757171d3287a31f9fc48cd15d37bd7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 05 十二月 2024 18:35:23 +0800
Subject: [PATCH] 修改bug
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 76 insertions(+), 18 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 90cf756..94da9a9 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
@@ -91,6 +91,7 @@
}
private void dealRoomsForContract(YwContract model) {
+ this.dealRoomsValid(model);
List<YwContractRoom> list = new ArrayList<>();
for(YwRoom room :model.getRoomList()){
YwContractRoom t = new YwContractRoom();
@@ -106,6 +107,46 @@
}
ywContractRoomMapper.insert(list);
}
+
+ private void dealRoomsValid(YwContract model){
+ List<Integer> roomIds = model.getRoomList().stream().map(i->i.getId()).collect(Collectors.toList());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(roomIds)){
+ if(ywContractMapper.selectJoinCount(new MPJLambdaWrapper<YwContract>()
+ .leftJoin(YwContractRoom.class,YwContractRoom::getContractId,YwContract::getId)
+ .eq(YwContractRoom::getType,Constants.ZERO)
+ .in(YwContractRoom::getRoomId,roomIds)
+ .in(YwContract::getStatus,Constants.ZERO,Constants.ONE,Constants.TWO)
+ .apply(" (" +
+ " ( t.START_DATE < '"+DateUtil.getFomartDate(model.getEndDate(),"yyyy-MM-dd HH:mm:ss")+"' and t.END_DATE > '"+DateUtil.getFomartDate(model.getStartDate(),"yyyy-MM-dd HH:mm:ss")+"' ) " +
+ "or " +
+ " ( t.START_DATE < '"+DateUtil.getFomartDate(model.getEndDate(),"yyyy-MM-dd HH:mm:ss")+"' and t.END_DATE > '"+DateUtil.getFomartDate(model.getStartDate(),"yyyy-MM-dd HH:mm:ss")+"' ) " +
+ " ) ")
+
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎴挎簮宸茶鍗犵敤璇峰埛鏂伴噸璇�");
+ };
+
+ if(ywContractMapper.selectJoinCount(new MPJLambdaWrapper<YwContract>()
+ .leftJoin(YwContractRoom.class,YwContractRoom::getContractId,YwContract::getId)
+ .eq(YwContractRoom::getType,Constants.ZERO)
+ .in(YwContractRoom::getRoomId,roomIds)
+ .in(YwContract::getStatus,Constants.THREE)
+ .apply(" ( t.START_DATE < '"+DateUtil.getFomartDate(model.getEndDate(),"yyyy-MM-dd HH:mm:ss")+"' " +
+ " and t.BT_DATE > '"+DateUtil.getFomartDate(model.getStartDate(),"yyyy-MM-dd HH:mm:ss")+"' ) " )
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎴挎簮宸茶鍗犵敤璇峰埛鏂伴噸璇�");
+ };
+
+
+
+ }
+
+
+
+
+
+ }
+
@Override
public List<YwContractBill> getBillList(YwContract model){
@@ -148,7 +189,7 @@
if(!(model.getZlFreeEndDate()==null && model.getZlFreeStartDate()==null) && (
(model.getZlFreeEndDate()!=null && model.getZlFreeStartDate()==null)
||(model.getZlFreeEndDate()==null && model.getZlFreeStartDate()!=null)
- ||model.getZlFreeEndDate().getTime()<= model.getZlFreeStartDate().getTime())
+ ||model.getZlFreeEndDate().getTime()< model.getZlFreeStartDate().getTime())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勭璧佹潯娆惧厤绉熸湡淇℃伅锛�");
}
@@ -201,7 +242,7 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜椤甸潰瑕佹眰濉啓鐗╀笟鏉℃淇℃伅!");
}
- if(d.getEndDate().getTime()<= d.getStartDate().getTime()){
+ if(d.getEndDate().getTime()< d.getStartDate().getTime()){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鐗╀笟鏉℃鏈夋晥鏈熺粨鏉熸椂闂翠笉寰楁棭浜庡紑濮嬫椂闂达紒");
}
if(!Constants.equalsInteger(model.getWyPayType(),Constants.ZERO) &&
@@ -262,9 +303,10 @@
BigDecimal fee = Constants.formatBigdecimal(model.getBtFee());
String str = "閫�绉熸憳瑕侊細鍓╀綑鏈粨娓呰处鍗晎param1}浠斤紝鍏抽棴璐﹀崟{param2}浠姐�愰��绉熸棩{param3}锛岄��绉熻垂鐢ㄥ悎璁¢渶{param4}{param5}鍏冦�傘��";
str = str.replace("{param1}",model.getBtWaitBill()+"")
- .replace("{param2}",DateUtil.getDateLongSlash(model.getBtDate()))
- .replace("{param3}",fee.compareTo(new BigDecimal(0)) >=0?"鏀�":"浠�")
- .replace("{param4}",(fee.compareTo(new BigDecimal(0)) >=0?
+ .replace("{param2}",Integer.toString(model.getBtCLoseBill()))
+ .replace("{param3}",DateUtil.getDateLongSlash(model.getBtDate()))
+ .replace("{param4}",fee.compareTo(new BigDecimal(0)) >=0?"鏀�":"浠�")
+ .replace("{param5}",(fee.compareTo(new BigDecimal(0)) >=0?
Constants.formatBigdecimal(model.getBtFee()).intValue()
:(Constants.formatBigdecimal(model.getBtFee()).intValue() * -1))+"" );
return str;
@@ -311,9 +353,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();
}
@@ -441,12 +480,17 @@
totalBackFee = totalBackFee.add(fee);//绱閫�娆鹃噾棰�
}
}
+ List<YwContractBill> ywContractBillList = ywContractBillMapper.selectList(new QueryWrapper<YwContractBill>()
+ .lambda().eq(YwContractBill::getContractId,param.getId()).orderByDesc(YwContractBill::getId));
+ Integer sortNum = ywContractBillList.size();
if(param.getAddBillList()!=null && param.getAddBillList().size()>0){
for(YwContractBill addBill : param.getAddBillList()){
+ sortNum = sortNum + 1 ;
addBill.setIsdeleted(Constants.ZERO);
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());
@@ -462,6 +506,8 @@
addBill.setBtFee(Constants.formatBigdecimal(addBill.getActReceivableFee()).multiply(new BigDecimal(-1)));
}
totalBackFee = totalBackFee.add(Constants.formatBigdecimal(addBill.getBtFee()));
+ addBill.setCreator(param.getEditor());
+ addBill.setCreateDate(param.getEditDate());
addBill.setEditDate(param.getEditDate());
addBill.setEditor(param.getEditor());
addBill.setBtActDate(param.getBtActDate());
@@ -470,6 +516,7 @@
addBill.setBtUserId(param.getBtUserId());
addBill.setBtSignDate(param.getBtSignDate());
addBill.setBtType(param.getBtType());
+ addBill.setSortnum(sortNum );
newBills.add(addBill);
}
ywContractBillMapper.insert(param.getAddBillList());//鎵归噺鎻掑叆鏁版嵁
@@ -488,12 +535,18 @@
yjBill.setEditDate(param.getEditDate());
yjBill.setEditor(param.getEditor());
yjBill.setReceivableFee(BigDecimal.ZERO);
- yjBill.setPayStatus(Constants.FOUR);
+ if(bill.getActReceivableFee().compareTo(BigDecimal.ZERO)==Constants.ZERO){
+ yjBill.setPayStatus(Constants.FIVE);
+ yjBill.setStatus(Constants.ONE);
+ }else{
+ yjBill.setPayStatus(Constants.FOUR);
+ yjNoBills ++;
+ }
yjBill.setPlanPayDate(canBill.getPlanPayDate());
ywContractBillMapper.updateById(yjBill);
}
}
- yjNoBills ++;
+
}
}
param.setBtWaitBill(canBills.size() + newBills.size()+yjNoBills);//鏈竻绠楃殑璐﹀崟鏁伴噺
@@ -648,12 +701,15 @@
}
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 =1;
for(int i=0;i<billList2.size();i++){
- billList2.get(i).setSortnum(num);
- num++;
+ if(Constants.equalsInteger( billList2.get(i).getCostType(),Constants.ONE)){
+ billList2.get(i).setSortnum(num++);
+ }
}
if(model.getId()!=null){
ywContractBillMapper.insert(billList1);
@@ -870,6 +926,7 @@
bill.setTotleFee(getTotalFeeByStartEnd(model,d,bill,freeStart,freeEnd));
bill.setReceivableFee(bill.getTotleFee());
bill.setBillType(Constants.ZERO);
+ bill.setCompanyId(model.getCompanyId());
list.add(bill);
}
return list;
@@ -989,7 +1046,7 @@
if(!(model.getZlFreeEndDate()==null && model.getZlFreeStartDate()==null) && (
(model.getZlFreeEndDate()!=null && model.getZlFreeStartDate()==null)
||(model.getZlFreeEndDate()==null && model.getZlFreeStartDate()!=null)
- ||model.getZlFreeEndDate().getTime()<= model.getZlFreeStartDate().getTime())
+ ||model.getZlFreeEndDate().getTime()< model.getZlFreeStartDate().getTime())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勭璧佹潯娆惧厤绉熸湡淇℃伅锛�");
}
@@ -1018,7 +1075,7 @@
Constants.equalsInteger(d.getCircleType(),Constants.SIX)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绉熻祦鏉℃鍙湁閫夋嫨涓�娆℃�т粯娆炬椂锛屾墠鑳介�夋嫨璇ユ寜姣忓満鏀惰垂锛�");
}
- if(model.getZlFirstCircle() == null){//棣栨湡淇℃伅
+ if(model.getZlFirstPrice() == null){//棣栨湡淇℃伅
model.setZlFirstPrice(d.getPrice());
model.setZlFirstCircle(d.getCircleType());
}
@@ -1067,7 +1124,7 @@
Constants.equalsInteger(d.getCircleType(),Constants.SIX)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鐗╀笟鏉℃鍙湁閫夋嫨涓�娆℃�т粯娆炬椂锛屾墠鑳介�夋嫨璇ユ寜姣忓満鏀惰垂锛�");
}
- if(model.getWyFirstCircle() == null){
+ if(model.getWyFirstPrice() == null){
//棣栨湡淇℃伅
model.setWyFirstPrice(d.getPrice());
model.setWyFirstCircle(d.getCircleType());
@@ -1231,7 +1288,8 @@
//鏌ヨ璐﹀崟闆嗗悎
model.setBillList(ywContractBillMapper.selectJoinList(YwContractBill.class,new MPJLambdaWrapper<YwContractBill>()
.selectAll(YwContractBill.class )
- .select(" ( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE else -yw.ACT_RECEIVABLE_FEE end),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ")
+ //.select(" ( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE else -yw.ACT_RECEIVABLE_FEE end),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ")
+ .select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ")
.eq( YwContractBill::getContractId,model.getId())
.eq(YwContractBill::getIsdeleted,Constants.ZERO)
.orderByAsc(YwContractBill::getSortnum,YwContractBill::getCreateDate)));
--
Gitblit v1.9.3