From a29e0df3c165dfe2ddd825bb340ed480a64865db Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 02 四月 2026 15:02:30 +0800
Subject: [PATCH] 解决冲突
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 274 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 228 insertions(+), 46 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 e941edb..e456e57 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
@@ -28,6 +28,7 @@
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -66,11 +67,17 @@
private YwContractMapper ywContractMapper;
@Autowired
+ private YwAccountMapper ywAccountMapper;
+
+ @Autowired
private MemberMapper memberMapper;
@Autowired
private YwTempConfigMapper ywTempConfigMapper;
+
+ @Value("${zip_file_path}")
+ private String zipFilePath;
@Override
public Integer create(YwContractBill ywContractBill) {
@@ -225,6 +232,17 @@
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))
+ && Utils.Date.getEnd(ywContractBill.getPlanPayDate()).getTime() < System.currentTimeMillis()){
+ ywContractBill.setIsOverdue(Constants.ONE);
+ }else{
+ ywContractBill.setIsOverdue(Constants.ZERO);
+ }
+
//鎴挎簮鏁版嵁
ywContractBill.setYwContractRoomList(
ywContractRoomMapper.selectJoinList(YwContractRoom.class,new MPJLambdaWrapper<YwContractRoom>()
@@ -232,8 +250,8 @@
.selectAs(YwProject::getName,YwRoom::getProjectName)
.selectAs(YwFloor::getName,YwRoom::getFloorName)
.selectAs(YwBuilding::getName,YwRoom::getBuildingName)
- .selectAs(YwRoom::getCode,YwContractRoom::getRoomName)
- .selectAs(YwRoom::getArea,YwContractRoom::getArea)
+ .selectAs(YwRoom::getRoomNum,YwContractRoom::getRoomName)
+ .selectAs(YwRoom::getRentArea,YwContractRoom::getArea)
.leftJoin(YwRoom.class,YwRoom::getId,YwContractRoom::getRoomId)
.leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor)
.leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
@@ -338,7 +356,7 @@
|| Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.TWO)
|| Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.THREE)
|| Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.FOUR))
- && ywContractBill.getPlanPayDate().getTime() < System.currentTimeMillis()){
+ && Utils.Date.getEnd(ywContractBill.getPlanPayDate()).getTime() < System.currentTimeMillis()){
ywContractBill.setIsOverdue(Constants.ONE);
}else{
ywContractBill.setIsOverdue(Constants.ZERO);
@@ -385,6 +403,8 @@
IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
queryWrapper.selectAll(YwContractBill.class)
.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 ")
+ .select(" ifnull((select s.status from sms_email s where s.OBJ_ID = t.id and s.OBJ_TYPE = 2 order by s.CREATE_DATE desc limit 1 ),0) ",YwContractBill::getIsSendEmail)
+ .select(" ifnull((select s.status from sms_email s where s.OBJ_ID = t.id and s.OBJ_TYPE = 1 order by s.CREATE_DATE desc limit 1 ),0) ",YwContractBill::getIsSendSms)
.selectAs(YwContract::getCode,YwContractBill::getContractCode)
.selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
@@ -398,12 +418,12 @@
YwContractBill::getBillType,model.getBillType())
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getPayStatus()),
YwContractBill::getPayStatus,model.getPayStatus())
- .in(Objects.nonNull(model)&&Objects.nonNull(model.getPayStatus()),
- YwContractBill::getPayStatus,Constants.ZERO,Constants.THREE,Constants.TWO,Constants.FOUR)
+ .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE)
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getType()),
YwContractBill::getType,model.getType())
.le(Objects.nonNull(model)&&Objects.nonNull(model.getIsOverdue())&&Constants.equalsInteger(model.getIsOverdue(),Constants.ONE),
YwContractBill::getPlanPayDate, DateUtil.getCurrDateTime())
+ .lt(YwContractBill::getPlanPayDate, DateUtil.getDate(new Date(),"yyyy-MM-dd"))
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getIsOverdue())&&Constants.equalsInteger(model.getIsOverdue(),Constants.ONE),
YwContractBill::getStatus, Constants.ZERO)
.ge(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateStart()),YwContractBill::getPlanPayDate, Utils.Date.getStart(model.getPlanPayDateStart()))
@@ -448,7 +468,7 @@
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBillList)){
//鑾峰彇鎵�鏈夋暟鎹�
List<Integer> billIdList = ywContractBillList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getId()).collect(Collectors.toList());
- List<Integer> contractIdList = ywContractBillList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getContractId()).collect(Collectors.toList());
+ List<Integer> contractIdList = ywContractBillList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)||Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getContractId()).collect(Collectors.toList());
List<YwContractRoom> ywContractRoomList = new ArrayList<>();
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(billIdList)){
ywContractRoomList.addAll( ywContractRoomMapper.selectJoinList(YwContractRoom.class,new MPJLambdaWrapper<YwContractRoom>()
@@ -456,7 +476,7 @@
.selectAs(YwProject::getName,YwRoom::getProjectName)
.selectAs(YwFloor::getName,YwRoom::getFloorName)
.selectAs(YwBuilding::getName,YwRoom::getBuildingName)
- .selectAs(YwRoom::getCode,YwContractRoom::getRoomName)
+ .selectAs(YwRoom::getRoomNum,YwContractRoom::getRoomName)
.leftJoin(YwRoom.class,YwRoom::getId,YwContractRoom::getRoomId)
.leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor)
.leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
@@ -472,7 +492,7 @@
.selectAs(YwProject::getName,YwRoom::getProjectName)
.selectAs(YwFloor::getName,YwRoom::getFloorName)
.selectAs(YwBuilding::getName,YwRoom::getBuildingName)
- .selectAs(YwRoom::getCode,YwContractRoom::getRoomName)
+ .selectAs(YwRoom::getRoomNum,YwContractRoom::getRoomName)
.leftJoin(YwRoom.class,YwRoom::getId,YwContractRoom::getRoomId)
.leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor)
.leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
@@ -593,6 +613,7 @@
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
.leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
.eq(YwContractBill::getIsdeleted,Constants.ZERO)
+ .eq(YwContractBill::getStatus,Constants.ZERO)
.in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR)
.eq(YwContractBill::getContractId,contractId)
.orderByDesc(YwContractBill::getId);
@@ -682,12 +703,14 @@
.selectAs(YwContractDetail::getType,YwContractBill::getDetailType)
.selectAs(YwContract::getZlPayType,YwContractBill::getZlPayType)
.selectAs(YwContract::getWyPayType,YwContractBill::getWyPayType)
- .select(" ( select ifnull(sum(r.rent_area),0) from yw_room y left join yw_contract_room yr on y.id = yr.room_id where yr.contract_id = t.contract_id and y.IS_INVESTMENT = 0 and yr.type = 0 ) " , YwContractBill::getTotalArea)
+ .select(" ( select ifnull(sum(y.rent_area),0) from yw_room y left join yw_contract_room yr on y.id = yr.room_id where yr.contract_id = t.contract_id and y.IS_INVESTMENT = 1 and yr.type = 0 ) " , YwContractBill::getTotalArea)
+ .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 ")
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
.leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
.leftJoin(YwContractDetail.class,YwContractDetail::getId,YwContractBill::getDetailId)
.in(YwContractBill::getId,billIds)
);
+ this.dealRoomDetail(ywContractBillList);
List<YwTempConfig> ywTempConfigList = ywTempConfigMapper.selectList(new QueryWrapper<YwTempConfig>().lambda().eq(YwTempConfig::getIsdeleted,Constants.ZERO));
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywTempConfigList)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌妯℃澘閰嶇疆椤�,璇疯仈绯荤鐞嗗憳");
@@ -700,7 +723,7 @@
}
List<File> fileList = new ArrayList<>();
for (YwContractBill ywContractBill:ywContractBillList) {
- this.dealTempData(tempList,ywContractBill,loginUserInfo);
+ List<YwTempConfig> dealList = this.dealTempData(tempList,ywContractBill,loginUserInfo);
String fileName = "鍌垂閫氱煡鍗昣" +ywContractBill.getCode() +"_" + System.currentTimeMillis()+".docx";
YwTempConfig ywTempConfig = new YwTempConfig();
if(Constants.equalsInteger(ywContractBill.getType(),Constants.ZERO)){
@@ -717,7 +740,7 @@
if(Objects.isNull(ywTempConfig)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"妯℃澘淇℃伅寮傚父,璇疯仈绯荤鐞嗗憳");
}
- String path = ExcelReplaceCommon.modifyWordTemplate(ywTempConfig.getUrl(),tempList,fileName);
+ String path = ExcelReplaceCommon.modifyWordTemplate(ywTempConfig.getUrl(),dealList,fileName,zipFilePath);
File f = new File(path);
if(f !=null && f.isFile()){
fileList.add(f);
@@ -739,9 +762,13 @@
}
- public void dealTempData(List<YwTempConfig> ywTempConfigList , YwContractBill ywContractBill, LoginUserInfo loginUserInfo){
+ public List<YwTempConfig> dealTempData(List<YwTempConfig> ywTempConfigList , YwContractBill ywContractBill, LoginUserInfo loginUserInfo){
//鏌ヨ鏀舵敮璐﹀彿鏁版嵁
+ YwAccount ywAccount = ywAccountMapper.selectOne(new QueryWrapper<YwAccount>().lambda().eq(YwAccount::getIsdeleted,Constants.ZERO).eq(YwAccount::getStatus,Constants.ZERO).eq(YwAccount::getCompanyId,ywContractBill.getCompanyId())
+ .orderByDesc(YwAccount::getId)
+ .last(" limit 1 "));
+ List<YwTempConfig> dealList = new ArrayList<>();
for (YwTempConfig y:ywTempConfigList) {
if(y.getTitle().equals("${璐圭敤鍚嶇О}")&&Objects.nonNull(ywContractBill.getCostType())){
//璐圭敤绫诲瀷锛�0=绉熻祦璐癸紱1=鐗╀笟璐癸紱2=绉熻祦鎶奸噾锛�3=鐗╀笟鎶奸噾锛�4=姘寸數璐癸紱5=鏉傞」璐癸紱6=鍏朵粬; 7=淇濊瘉閲�
@@ -798,21 +825,21 @@
y.setUrl("鍏冩瘡骞崇背澶�");
}else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
y.setUrl("鍏冩瘡骞崇背鏈�");
- }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
+ }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.TWO)){
y.setUrl("鍏冩瘡骞崇背骞�");
- } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.THREE)){
y.setUrl("鍏冩瘡澶�");
- } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FOUR)){
y.setUrl("鍏冩瘡鏈�");
- } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FIVE)){
y.setUrl("鍏冩瘡骞�");
- } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.SIX)){
y.setUrl("鍏冩瘡鍦�");
}
}else if(y.getTitle().equals("${搴旀敹鏃ユ湡}")&&Objects.nonNull(ywContractBill.getPlanPayDate())){
y.setUrl(DateUtil.formatDate(ywContractBill.getPlanPayDate(),"yyyy-MM-dd"));
}else if(y.getTitle().equals("${搴旀敹閲戦}")&&Objects.nonNull(ywContractBill.getReceivableFee())){
- y.setUrl(ywContractBill.getReceivableFee().toString());
+ y.setUrl((ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())).setScale(2).toString());
}else if(y.getTitle().equals("${璐﹀崟澶囨敞}")){
if(StringUtils.isNotBlank(ywContractBill.getRemark())){
y.setUrl(ywContractBill.getRemark());
@@ -821,7 +848,7 @@
}
}else if(y.getTitle().equals("${绉熷鍚嶇О}")&&StringUtils.isNotBlank(ywContractBill.getCustomerName())){
y.setUrl(ywContractBill.getCustomerName());
- }else if(y.getTitle().equals("${妤煎畤/妤煎眰/鎴挎簮}")){
+ }else if(y.getTitle().equals("${鎴块棿淇℃伅}")){
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){
StringBuilder roomPathName = new StringBuilder();
for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) {
@@ -846,21 +873,37 @@
}else if(y.getTitle().equals("${绉熻祦闈㈢Н}")&&Objects.nonNull(ywContractBill.getTotalArea())){
y.setUrl(ywContractBill.getTotalArea().toString());
}else if(y.getTitle().equals("${鎵�灞炲叕鍙歌处鎴峰悕绉皚")){
- y.setUrl("鎵�灞炲叕鍙歌处鎴峰悕绉�");
+ if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){
+ y.setUrl(ywAccount.getName());
+ }else{
+ y.setUrl("-");
+ }
}else if(y.getTitle().equals("${鎵�灞炲叕鍙搁摱琛岃处鍙穧")){
y.setUrl("鎵�灞炲叕鍙搁摱琛岃处鍙�");
+ if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){
+ y.setUrl(ywAccount.getName());
+ }else{
+ y.setUrl("-");
+ }
}else if(y.getTitle().equals("${鎵�灞炲叕鍙稿紑鎴烽摱琛寎")){
- y.setUrl("鎵�灞炲叕鍙稿紑鎴烽摱琛�");
+ if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getBankNo())){
+ y.setUrl(ywAccount.getBankNo());
+ }else{
+ y.setUrl("-");
+ }
}else if(y.getTitle().equals("${閫氱煡鍗曠敓鎴愭棩鏈焳")){
y.setUrl(DateUtil.formatDate(new Date(),"yyyy-MM-dd"));
- }else if(y.getTitle().equals("${褰撳墠鐢ㄦ埛濮撳悕}")){
+ }else if(y.getTitle().equals("${鍒惰〃浜哄悕绉皚")){
y.setUrl(loginUserInfo.getRealname());
}
+ dealList.add(y);
}
+ return dealList;
}
- public void sendSmsEmail(List<YwSmsEmailBillCallDTO> ywSmsEmailBillCallDTOList,LoginUserInfo loginUserInfo){
+ @Override
+ public void sendSmsEmail(List<YwSmsEmailBillCallDTO> ywSmsEmailBillCallDTOList,SmsEmailServiceImpl smsEmailService,LoginUserInfo loginUserInfo){
if(CollectionUtils.isEmpty(ywSmsEmailBillCallDTOList)){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -874,12 +917,15 @@
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(tempList)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌妯℃澘閰嶇疆椤�,璇疯仈绯荤鐞嗗憳");
}
+ Optional<YwTempConfig> smsTempConfigOptional = ywTempConfigList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).findAny();
+ Optional<YwTempConfig> emailTempConfigOptional = ywTempConfigList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).findAny();
for (YwSmsEmailBillCallDTO ywSmsEmailBillCallDTO:ywSmsEmailBillCallDTOList) {
if(Objects.isNull(ywSmsEmailBillCallDTO)
- || Objects.isNull(ywSmsEmailBillCallDTO.getBillId())
+ || Objects.isNull(ywSmsEmailBillCallDTO.getBillId())
|| Objects.isNull(ywSmsEmailBillCallDTO.getUserId())
- ||Objects.isNull(ywSmsEmailBillCallDTO.getSendEmail())
- || Objects.isNull(ywSmsEmailBillCallDTO.getSendSms())){
+ ||Objects.isNull(ywSmsEmailBillCallDTO.getSendEmail())
+ || Objects.isNull(ywSmsEmailBillCallDTO.getSendSms())
+ ){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -894,41 +940,177 @@
.selectAs(YwContractDetail::getType,YwContractBill::getDetailType)
.selectAs(YwContract::getZlPayType,YwContractBill::getZlPayType)
.selectAs(YwContract::getWyPayType,YwContractBill::getWyPayType)
- .select(" ( select ifnull(sum(r.rent_area),0) from yw_room y left join yw_contract_room yr on y.id = yr.room_id where yr.contract_id = t.contract_id and y.IS_INVESTMENT = 0 and yr.type = 0 ) " , YwContractBill::getTotalArea)
+ .select(" ( select ifnull(sum(y.rent_area),0) from yw_room y left join yw_contract_room yr on y.id = yr.room_id where yr.contract_id = t.contract_id and y.IS_INVESTMENT = 1 and yr.type = 0 ) " , YwContractBill::getTotalArea)
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
.leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
.leftJoin(YwContractDetail.class,YwContractDetail::getId,YwContractBill::getDetailId)
.eq(YwContractBill::getId,ywSmsEmailBillCallDTO.getBillId())
.last( "limit 1" )
);
- this.dealTempData(tempList,ywContractBill,loginUserInfo);
+
+ List<YwContractBill> ywContractBillList = new ArrayList<>();
+ ywContractBillList.add(ywContractBill);
+ this.dealRoomDetail(ywContractBillList);
+
+// this.dealTempData(tempList,ywContractBill,loginUserInfo);
Member member = memberMapper.selectById(ywSmsEmailBillCallDTO.getUserId());
if(Objects.isNull(member)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀛樺湪鏈煡璇㈠埌鐨勪汉鍛樹俊鎭�");
}
-
-
+ if(Objects.nonNull(member)){
+ if(Constants.equalsInteger(ywSmsEmailBillCallDTO.getSendSms(),Constants.ONE) && StringUtils.isNotBlank(member.getPhone())
+ && smsTempConfigOptional.isPresent()){
+ String content = this.dealTempSmsEmailData(smsTempConfigOptional.get().getTitle(),tempList,ywContractBill,loginUserInfo);
+ smsEmailService.sendBillSms(content,member.getPhone(),ywContractBill.getId());
+ }
+ if(Constants.equalsInteger(ywSmsEmailBillCallDTO.getSendEmail(),Constants.ONE) && StringUtils.isNotBlank(member.getEmail())
+ && emailTempConfigOptional.isPresent()){
+ String content = this.dealTempSmsEmailData(emailTempConfigOptional.get().getTitle(),tempList,ywContractBill,loginUserInfo);
+ smsEmailService.sendEmail(member.getEmail(),content,ywContractBill.getId());
+ }
+ }
}
+ }
- for (YwSmsEmailBillCallDTO ywSmsEmailBillCallDTO:ywSmsEmailBillCallDTOList) {
+ public String dealTempSmsEmailData(String tempStr,List<YwTempConfig> ywTempConfigList , YwContractBill ywContractBill, LoginUserInfo loginUserInfo){
+ //鏌ヨ鏀舵敮璐﹀彿鏁版嵁
+ YwAccount ywAccount = ywAccountMapper.selectOne(new QueryWrapper<YwAccount>().lambda().eq(YwAccount::getIsdeleted,Constants.ZERO).eq(YwAccount::getStatus,Constants.ZERO).eq(YwAccount::getCompanyId,ywContractBill.getCompanyId())
+ .orderByDesc(YwAccount::getId)
+ .last(" limit 1 "));
+ for (YwTempConfig y:ywTempConfigList) {
+ if(y.getTitle().equals("${璐圭敤鍚嶇О}")&&Objects.nonNull(ywContractBill.getCostType())){
+ //璐圭敤绫诲瀷锛�0=绉熻祦璐癸紱1=鐗╀笟璐癸紱2=绉熻祦鎶奸噾锛�3=鐗╀笟鎶奸噾锛�4=姘寸數璐癸紱5=鏉傞」璐癸紱6=鍏朵粬; 7=淇濊瘉閲�
+ if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.ZERO)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","绉熻祦璐�");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.ONE)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","鐗╀笟璐�");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.TWO)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","绉熻祦鎶奸噾");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.THREE)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","鐗╀笟鎶奸噾");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.FOUR)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","姘寸數璐�");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.FIVE)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","鏉傞」璐�");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.SIX)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","鍏朵粬");
+ }else if(Constants.equalsInteger(ywContractBill.getCostType(),Constants.SEVEN)){
+ tempStr = tempStr.replace("${璐圭敤鍚嶇О}","淇濊瘉閲�");
+ }
+ }else if(y.getTitle().equals("${璁¤垂鍛ㄦ湡}")){
+ if(Objects.nonNull(ywContractBill.getDetailType())){
+ if(Constants.equalsInteger(ywContractBill.getDetailType(),Constants.ZERO)){
+ //绉熻祦鏀粯鏂瑰紡 0=涓�娆℃�т粯娆撅紱1=姣忎笁涓湀涓�浠橈紱2=鍏釜鏈堜竴浠橈紱3=涓�骞翠竴浠�
+ if(Objects.nonNull(ywContractBill.getZlPayType())){
+ if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.ZERO)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","涓�娆℃�т粯娆�");
+ }else if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.ONE)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","姣忎笁涓湀涓�浠�");
+ }else if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.TWO)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","鍏釜鏈堜竴浠�");
+ }else if(Constants.equalsInteger(ywContractBill.getZlPayType(),Constants.THREE)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","涓�骞翠竴浠�");
+ }
+ }
+ }else{
+ //鐗╀笟鏀粯鏂瑰紡 0=涓�娆℃�т粯娆撅紱1=姣忎笁涓湀涓�浠橈紱2=鍏釜鏈堜竴浠橈紱3=涓�骞翠竴浠�
+ if(Objects.nonNull(ywContractBill.getWyPayType())){
+ if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.ZERO)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","涓�娆℃�т粯娆�");
+ }else if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.ONE)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","姣忎笁涓湀涓�浠�");
+ }else if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.TWO)){
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","鍏釜鏈堜竴浠�");
+ }else if(Constants.equalsInteger(ywContractBill.getWyPayType(),Constants.THREE)){
+ tempStr.replace("${璁¤垂鍛ㄦ湡}","涓�骞翠竴浠�");
+ }
+ }
+ }
+ }else{
+ tempStr = tempStr.replace("${璁¤垂鍛ㄦ湡}","");
+ }
-
-
-
-
+ }else if(y.getTitle().equals("${鍗曚环}")&&Objects.nonNull(ywContractBill.getPrice())){
+ tempStr = tempStr.replace("${鍗曚环}",ywContractBill.getPrice().setScale(2).toString());
+ }else if(y.getTitle().equals("${鍗曚綅}")&&Objects.nonNull(ywContractBill.getCircleType())){
+ //浠樻鍛ㄦ湡绫诲瀷 0=鍏冩瘡骞崇背澶�;1=鍏冩瘡骞崇背鏈�;2=鍏冩瘡骞崇背骞�;3=鍏冩瘡澶�;4=鍏冩瘡鏈�;5=鍏冩瘡骞�;6=鍏冩瘡鍦�;
+ if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ZERO)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡骞崇背澶�");
+ }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.ONE)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡骞崇背鏈�");
+ }else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.TWO)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡骞崇背骞�");
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.THREE)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡澶�");
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FOUR)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡鏈�");
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.FIVE)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡骞�");
+ } else if(Constants.equalsInteger(ywContractBill.getCircleType(),Constants.SIX)){
+ tempStr = tempStr.replace("${鍗曚綅}","鍏冩瘡鍦�");
+ }
+ }else if(y.getTitle().equals("${搴旀敹鏃ユ湡}")&&Objects.nonNull(ywContractBill.getPlanPayDate())){
+ tempStr = tempStr.replace("${搴旀敹鏃ユ湡}",DateUtil.formatDate(ywContractBill.getPlanPayDate(),"yyyy-MM-dd"));
+ }else if(y.getTitle().equals("${搴旀敹閲戦}")&&Objects.nonNull(ywContractBill.getReceivableFee())){
+ tempStr = tempStr.replace("${搴旀敹閲戦}",(ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())).setScale(2).toString());
+ }else if(y.getTitle().equals("${璐﹀崟澶囨敞}")){
+ if(StringUtils.isNotBlank(ywContractBill.getRemark())){
+ tempStr = tempStr.replace("${璐﹀崟澶囨敞}",ywContractBill.getRemark());
+ }else{
+ tempStr = tempStr.replace("${璐﹀崟澶囨敞}","");
+ }
+ }else if(y.getTitle().equals("${绉熷鍚嶇О}")&&StringUtils.isNotBlank(ywContractBill.getCustomerName())){
+ tempStr = tempStr.replace("${绉熷鍚嶇О}",ywContractBill.getCustomerName());
+ }else if(y.getTitle().equals("${鎴块棿淇℃伅}")){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){
+ StringBuilder roomPathName = new StringBuilder();
+ for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) {
+ 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(";");
+ }
+ }
+ tempStr = tempStr.replace("${鎴块棿淇℃伅}",roomPathName.toString());
+ }
+ }else if(y.getTitle().equals("${绉熻祦闈㈢Н}")&&Objects.nonNull(ywContractBill.getTotalArea())){
+ tempStr.replace("${绉熻祦闈㈢Н}",ywContractBill.getTotalArea().toString());
+ }else if(y.getTitle().equals("${鎵�灞炲叕鍙歌处鎴峰悕绉皚")){
+ if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){
+ tempStr = tempStr.replace("${鎵�灞炲叕鍙歌处鎴峰悕绉皚",ywAccount.getName());
+ }else{
+ tempStr = tempStr.replace("${鎵�灞炲叕鍙歌处鎴峰悕绉皚","-");
+ }
+ }else if(y.getTitle().equals("${鎵�灞炲叕鍙搁摱琛岃处鍙穧")){
+ if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getName())){
+ tempStr = tempStr.replace("${鎵�灞炲叕鍙搁摱琛岃处鍙穧",ywAccount.getName());
+ }else{
+ tempStr = tempStr.replace("${鎵�灞炲叕鍙搁摱琛岃处鍙穧","-");
+ }
+ }else if(y.getTitle().equals("${鎵�灞炲叕鍙稿紑鎴烽摱琛寎")){
+ if(Objects.nonNull(ywAccount)&&StringUtils.isNotBlank(ywAccount.getBankNo())){
+ tempStr = tempStr.replace("${鎵�灞炲叕鍙稿紑鎴烽摱琛寎",ywAccount.getBankNo());
+ }else{
+ tempStr = tempStr.replace("${鎵�灞炲叕鍙稿紑鎴烽摱琛寎","-");
+ }
+ }else if(y.getTitle().equals("${閫氱煡鍗曠敓鎴愭棩鏈焳")){
+ tempStr = tempStr.replace("${閫氱煡鍗曠敓鎴愭棩鏈焳",DateUtil.formatDate(new Date(),"yyyy-MM-dd"));
+ }else if(y.getTitle().equals("${鍒惰〃浜哄悕绉皚")){
+ tempStr = tempStr.replace("${鍒惰〃浜哄悕绉皚",loginUserInfo.getRealname());
+ }
}
-
-
-
-
-
-
-
-
-
-
-
+ return tempStr;
}
--
Gitblit v1.9.3