From 2a0d7762b0113bba17bd50203360ec669aa20b18 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 04 十二月 2024 19:44:10 +0800
Subject: [PATCH] 客户资料 巡检任务业务
---
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java | 4 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 6 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 1
server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java | 8 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 18 ++++--
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java | 60 ++++++++++++++++----
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/ProjectDataVO.java | 4 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 33 +++++++---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java | 3
12 files changed, 109 insertions(+), 35 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java b/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
index 630334d..df82f83 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
@@ -44,7 +44,10 @@
*/
public static DateCompare dayCompare(Date fromDateOrigin,Date toDateOrigin,Date freeStart,Date freeEnd){
//寮�濮嬫椂闂村線鍚庡欢浼革紝闄ゅ幓鏈夋晥鏃舵湡
- Date fromDate = DateUtil.addDaysToDate(fromDateOrigin,getIntersectingDays(fromDateOrigin,DateUtil.addDaysToDate(toDateOrigin,1),freeStart,DateUtil.addDaysToDate(freeEnd,1)));
+ Date fromDate = DateUtil.addDaysToDate(fromDateOrigin,getIntersectingDays(fromDateOrigin,DateUtil.addDaysToDate(toDateOrigin,1),
+ freeStart,
+ Objects.isNull(freeEnd)?null:DateUtil.addDaysToDate(freeEnd,1))
+ );
if(toDateOrigin.getTime()< fromDate.getTime()){
return DateCompare.builder().day(0).month(0).year(0).yearFloat(new BigDecimal(0)).monthFloat(new BigDecimal(0)).build();
}
@@ -141,6 +144,9 @@
}
public static int getIntersectingDays(Date start1, Date end1, Date start2, Date end2) {
+ if(Objects.isNull(start2)||Objects.isNull(end2)){
+ return 0;
+ }
Date earlierStart = DateUtil.daysBetweenDates(start1,start2)>0? start1 : start2;
Date laterEnd = DateUtil.daysBetweenDates(end2,end1)>0 ? end1 : end2;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
index 0da0eea..5fca146 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
@@ -102,6 +102,10 @@
@ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
private Integer projectId;
+ @ApiModelProperty(value = "绠$悊闈㈢Н")
+ @TableField(exist = false)
+ private BigDecimal manageArea;
+
@ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
@TableField(exist = false)
private Integer roomRentNum;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/ProjectDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/ProjectDataVO.java
index f292cb0..ba8b2d3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/ProjectDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/ProjectDataVO.java
@@ -4,6 +4,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -21,6 +22,9 @@
@ApiModelProperty(value = "涓氬姟鍚嶇О")
private String name;
+ @ApiModelProperty(value = "闈㈢Н")
+ private BigDecimal area;
+
@ApiModelProperty(value = "鐖剁骇涓婚敭")
private Integer pId;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index bdbf056..e75dac5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -135,7 +135,9 @@
Utils.MP.blankToNull(pageWrap.getModel());
queryWrapper.lambda().eq(Category::getIsdeleted,Constants.ZERO)
.eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
- .isNull(Category::getParentId);
+ .isNull(Category::getParentId)
+ .orderByAsc(Category::getSortnum)
+ ;
PageData<Category> categoryPageData = PageData.from(categoryMapper.selectPage(page, queryWrapper));
//鏌ヨ鎵�鏈変簩绾ф暟鎹�
List<Category> categoryList = categoryMapper.selectList(
@@ -191,7 +193,7 @@
private void checkUnique(Category category){
QueryWrapper<Category> wrapper = new QueryWrapper<>();
wrapper.lambda()
- .eq(Objects.nonNull(category.getId()),Category::getId,category.getId())
+ .ne(Objects.nonNull(category.getId()),Category::getId,category.getId())
.eq(Category::getIsdeleted,Constants.ZERO)
.eq(Category::getType,category.getType())
.eq(Category::getName,category.getName());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 85e4aac..534d629 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2209,6 +2209,7 @@
.and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(Member::getName,model.getName()).or().like(
Member::getPhone,model.getName()
))
+ .orderByDesc(Member::getCreateDate)
);
return PageData.from(iPage);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
index 612f09e..ac034cb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -147,7 +147,8 @@
Utils.MP.blankToNull(pageWrap.getModel());
pageWrap.getModel().setIsdeleted(Constants.ZERO);
queryWrapper.select(" (select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id) as roomNum "+
- ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id and a.IS_INVESTMENT=1) as roomRentNum");
+ ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id and a.IS_INVESTMENT=1) as roomRentNum " +
+ ", ( select ifnull(sum(a.RENT_AREA),0) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id ) as manageArea");
if (pageWrap.getModel().getId() != null) {
queryWrapper.eq(YwBuilding::getId, pageWrap.getModel().getId());
}
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 0c3e1dc..471d18f 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
@@ -189,7 +189,8 @@
public YwContractBill getDetail(Integer id) {
YwContractBill ywContractBill = ywContractBillMapper.selectJoinOne(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 ")
.selectAs(YwContract::getCode,YwContractBill::getContractCode)
.selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
.selectAs(Company::getName,YwContractBill::getCompanyName)
@@ -279,7 +280,8 @@
YwContractBill model = pageWrap.getModel();
IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
queryWrapper.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 ")
.selectAs(YwContract::getCode,YwContractBill::getContractCode)
.selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
@@ -300,8 +302,9 @@
.like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getContractCode()),
YwContract::getCode,model.getContractCode())
.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())) )
- ;
+ .le(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateEnd()),YwContractBill::getPlanPayDate, Utils.Date.getEnd(model.getPlanPayDateEnd()))
+ .orderByDesc(YwContractBill::getId));
+
this.dealRoomDetail(iPage.getRecords());
for (YwContractBill ywContractBill:iPage.getRecords()) {
//闇�鏀堕噾棰�
@@ -460,7 +463,8 @@
public List<YwContractBill> getCanBackBill(YwContractBill model) {
List<YwContractBill> list = 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 ")
.selectAs(YwContract::getCode,YwContractBill::getContractCode)
.selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
@@ -469,7 +473,9 @@
.in(YwContractBill::getCostType,Constants.ZERO,Constants.ONE,Constants.FOUR,Constants.FIVE,7)
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getContractId()),
YwContractBill::getContractId,model.getContractId())
- .le(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateEnd()),YwContractBill::getStartDate, Utils.Date.getEnd(model.getPlanPayDateEnd())) )
+ .and(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateEnd()),
+ i->i.le(YwContractBill::getStartDate, Utils.Date.getEnd(model.getPlanPayDateEnd())).or()
+ .in(YwContractBill::getPayStatus,Constants.ONE,Constants.TWO) ))
;
for (YwContractBill ywContractBill:list) {
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 cdfdf12..e2e4461 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
@@ -24,6 +24,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -125,7 +126,7 @@
BigDecimal waitPayTotal = BigDecimal.ZERO;
//鏃犱粯娆捐褰� 鍒欎负鍒濇鏀粯 鏍规嵁璐﹀崟绫诲瀷 鍒ゆ柇鏄敮鍑� / 鏀跺叆
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywContractRevenueList)){
- ywContractRevenue.setRevenueType(ywContractBill.getType());
+ ywContractRevenue.setRevenueType(ywContractBill.getBillType());
if(ywContractRevenue.getActReceivableFee().compareTo(ywContractBill.getReceivableFee())>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇疯緭鍏ユ纭殑閲戦锛�");
}else if(ywContractRevenue.getActReceivableFee().compareTo(ywContractBill.getReceivableFee())==Constants.ZERO){
@@ -135,19 +136,39 @@
}
}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);
+ if(Constants.equalsInteger(ywContractBill.getBillType(),Constants.ZERO)){
+ payTotal = ywContractRevenueList.stream().map(i->
+ i.getActReceivableFee().multiply(
+ BigDecimal.valueOf(Constants.equalsInteger(i.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(),"鏀舵敮閲戦寮傚父!璇疯仈绯荤鐞嗗憳");
+ }
}else{
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏀舵敮閲戦寮傚父!璇疯仈绯荤鐞嗗憳");
+ payTotal = ywContractRevenueList.stream().map(i->
+ i.getActReceivableFee().multiply(
+ BigDecimal.valueOf(Constants.equalsInteger(i.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.ONE);
+ }else if(waitPayTotal.compareTo(BigDecimal.ZERO)<Constants.ZERO){
+ ywContractRevenue.setRevenueType(Constants.ZERO);
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏀舵敮閲戦寮傚父!璇疯仈绯荤鐞嗗憳");
+ }
}
+
+
//寰呮敮浠樼殑娴佹按 濡傛灉涓烘敹鍏� 鍒欐瘮瀵� 閲戦鍊� 濡傛灉鏄敮鍑� 鍒欒幏鍙栫粷瀵瑰�� 杩涜瀵规瘮
if(Constants.equalsInteger(ywContractRevenue.getRevenueType(),Constants.ZERO)){
//濡傛灉鏀粯閲戦 澶т簬 寰呮敮浠橀噾棰� 鍒欐彁绀哄紓甯� 濡傛灉鏀粯閲戦灏忎簬 寰呮敮浠橀噾棰� 鍒欑姸鎬佷笉鍙樺寲 鍏朵粬鐘舵�� 寮傚父
@@ -167,6 +188,21 @@
}
ywContractRevenueMapper.insert(ywContractRevenue);
ywContractBillMapper.updateById(ywContractBill);
+ //濡傛灉璐﹀崟瀹岀粨锛屽垯鏌ヨ鍚堝悓涓嬪紑鍚腑鐨勮处鍗曟槸鍚﹀瓨鍦ㄩ��娆句腑 濡傛灉涓嶅瓨鍦ㄥ垯鏍囪鍚堝悓宸查��娆�
+ if(Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ONE)){
+ if( ywContractBillMapper
+ .selectCount(new QueryWrapper<YwContractBill>().lambda().eq(YwContractBill::getContractId,ywContractBill.getContractId())
+ .ne(YwContractBill::getId,ywContractBill.getId())
+ .eq(YwContractBill::getStatus,Constants.ZERO)
+ .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.FOUR, Constants.TWO,Constants.THREE)
+ ) == Constants.ZERO){
+ ywContractMapper.update(new UpdateWrapper<YwContract>().lambda()
+ .set(YwContract::getStatus,Constants.FOUR)
+ .set(YwContract::getEditDate,DateUtil.getCurrDateTime())
+ .eq(YwContract::getId,ywContractBill.getContractId())
+ );
+ }
+ }
//瀛樺偍闄勪欢淇℃伅
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRevenue.getMultifileList())){
for (Multifile multifile:ywContractRevenue.getMultifileList()) {
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 b6d5a9f..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
@@ -189,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‘鐨勭璧佹潯娆惧厤绉熸湡淇℃伅锛�");
}
@@ -242,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) &&
@@ -303,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;
@@ -505,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());
@@ -532,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);//鏈竻绠楃殑璐﹀崟鏁伴噺
@@ -917,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;
@@ -1036,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‘鐨勭璧佹潯娆惧厤绉熸湡淇℃伅锛�");
}
@@ -1065,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());
}
@@ -1114,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());
@@ -1278,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)));
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
index 7d19c2c..9118073 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
@@ -180,6 +180,7 @@
.ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
.le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
.eq(YwDeviceRecord::getIsdeleted,Constants.ZERO)
+ .orderByDesc(YwDeviceRecord::getCreateDate)
);
return PageData.from(iPage);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
index 217d7c4..a40d68f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
@@ -106,6 +106,7 @@
}
@Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
public void updateById(YwPatrolLine ywPatrolLine) {
if(Objects.isNull(ywPatrolLine)
|| StringUtils.isBlank(ywPatrolLine.getName())
@@ -123,7 +124,7 @@
//寰幆澶勭悊 瀛愰泦鏁版嵁
List<YwLinePoint> ywLinePointList = ywPatrolLine.getLinePointList();
//鏄惁瀛樺湪鐩稿悓鏁版嵁
- Set<Integer> setIds = new HashSet<Integer>(ywLinePointList.stream().map(i->i.getLineId()).collect(Collectors.toList()));
+ Set<Integer> setIds = new HashSet<Integer>(ywLinePointList.stream().map(i->i.getPointId()).collect(Collectors.toList()));
if(setIds.size()!=ywLinePointList.size()){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鐩稿悓宸℃鐐�!");
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
index 7fb54c0..2e2061a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -297,7 +297,8 @@
for (YwRoom data:ywRoomList) {
ProjectDataVO projectDataVO = new ProjectDataVO();
BeanUtils.copyProperties(data,projectDataVO);
- projectDataVO.setName(data.getCode() + " " + data.getArea().setScale(2, BigDecimal.ROUND_HALF_UP) +"銕�");
+ projectDataVO.setName(data.getRoomNum());
+ projectDataVO.setArea(data.getRentArea().setScale(2, BigDecimal.ROUND_HALF_UP));
projectDataVO.setPId(data.getFloor());
projectDataVO.setLv(Constants.THREE);
projectDataVOList.add(projectDataVO);
--
Gitblit v1.9.3