From 97ac018a7600782c98d8de5edc09b680fd6e4975 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 26 三月 2025 09:31:26 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 78 +++++++++++++++++++++++++++++++++------
1 files changed, 66 insertions(+), 12 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 0712acb..8cc0ade 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -36,6 +36,7 @@
import com.doumee.service.business.third.EmayService;
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;
@@ -181,6 +182,7 @@
queryWrapper.select("t1.name",CarUseBook::getMemberName);
queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
.eq(CarUseBook::getId,id)
+ .eq(CarUseBook::getIsdeleted,Constants.ZERO)
.last("limit 1" );
CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper);
if(model==null ||Constants.equalsInteger(Constants.ONE,model.getIsdeleted())){
@@ -246,15 +248,14 @@
.leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
.leftJoin("company t4 on t1.company_id=t4.id")
.eq(CarUseBook::getId,id)
+ .eq(CarUseBook::getIsdeleted,Constants.ZERO)
.last("limit 1" );
CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper);
if(Objects.isNull(model)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- ApproveDataVO approveDataVO = approveService.arrangeApprovedData(id,
- Constants.equalsInteger(model.getType(),Constants.ZERO)?3:4,
- memberId);
- List<Approve> approveList = approveDataVO.getApproveList();
+ model.setApproveDateVO(getApproveDataVO(memberId,model));
+ List<Approve> approveList = model.getApproveDateVO().getApproveList();
if(Constants.equalsInteger(model.getStatus(),Constants.FOUR)){
String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
@@ -277,7 +278,6 @@
approve.setCheckDate(model.getCancelTime());
approveList.add(approve);
}
- model.setApproveDateVO(approveDataVO);
Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
.eq(Notices::getObjId,id)
@@ -295,6 +295,13 @@
return model;
+ }
+
+ private ApproveDataVO getApproveDataVO( Integer memberId,CarUseBook model) {
+ ApproveDataVO approveDataVO = approveService.arrangeApprovedData(model.getId(),
+ Constants.equalsInteger(model.getType(),Constants.ZERO)?3:4,
+ memberId);
+ return approveDataVO;
}
@Override
@@ -323,7 +330,8 @@
queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
.leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
- .leftJoin("company t4 on t1.company_id=t4.id"); //鏁版嵁鏉冮檺寮�濮�--------------------start----------------
+ .leftJoin("company t4 on t1.company_id=t4.id");
+ //鏁版嵁鏉冮檺寮�濮�--------------------start----------------
LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
if(userInfo!=null && userInfo.getCompanyIdList()!=null){
if( userInfo.getCompanyIdList().size() ==0){
@@ -374,8 +382,8 @@
.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
.or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
- .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime())
- .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryEndTime())
+ .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getCreateDate,pageWrap.getModel().getQueryStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getCreateDate,pageWrap.getModel().getQueryEndTime())
.orderByDesc(Visits::getCreateDate)
;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -385,7 +393,13 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(carUseBookMapper.selectJoinPage(page, CarUseBook.class, queryWrapper));
+ PageData<CarUseBook> result =PageData.from(carUseBookMapper.selectJoinPage(page, CarUseBook.class, queryWrapper));
+ if(result!=null && result.getRecords()!=null){
+ for(CarUseBook carUseBook:result.getRecords()){
+ carUseBook.setHasRole(getHasBackRoleBiz(carUseBook,pageWrap.getModel().getLoginUserInfo()));
+ }
+ }
+ return result;
}
@Override
@@ -414,6 +428,7 @@
.selectAs(Member::getName,CarUseBook::getMemberName)
.selectAs(Member::getPhone,CarUseBook::getMemberMobile)
.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
+ .eq(CarUseBook::getIsdeleted,Constants.ZERO)
.eq(CarUseBook::getCarId,carUseBook.getCarId())
.in(CarUseBook::getStatus,0,1,2)
.apply(" ( " +
@@ -525,9 +540,12 @@
@Override
public void revoke(Integer id, String info, LoginUserInfo loginUserInfo){
CarUseBook carUseBook = carUseBookMapper.selectById(id);
- if(Objects.isNull(carUseBook)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄨ溅鐢宠淇℃伅");
- }
+ if(Objects.isNull(carUseBook) || Constants.equalsInteger(carUseBook.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄨ溅鐢宠淇℃伅");
+ }
+ if(getHasBackRoleBiz(carUseBook,loginUserInfo) == Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏃犳潈闄愯鎾ら攢鎿嶄綔锛�");
+ }
carUseBook.setCancelInfo(info);
carUseBook.setCancelTime(new Date());
carUseBook.setCancelStatus(Constants.ONE);
@@ -581,5 +599,41 @@
}
}
+ /**
+ * 鏌ヨ褰撳墠鐧婚檰鐢ㄦ埛鏄惁鍏锋湁閫�鍥炵敵璇风殑鏉冮檺
+ * 鐢宠浜哄彧鑳藉湪寰呭鏍镐箣鍓嶆挙閿�锛屾淳杞﹀憳鍙互鍦ㄥ緟瀹℃牳銆佸鏍镐腑銆佸鎵归�氳繃杩涜鎾ら攢
+ * @param carUseBook
+ * @param loginUserInfo
+ * @return
+ */
+ private int getHasBackRoleBiz(CarUseBook carUseBook, LoginUserInfo loginUserInfo) {
+ if(Constants.equalsInteger(carUseBook.getCreator(),loginUserInfo.getId())
+ && Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)){
+ //鐢宠浜哄彲浠ユ挙閿�鑷繁鐢宠涓殑鐢宠璁板綍
+ return Constants.ONE;
+ }
+ if(Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO) && carUseBook.getStartTime()!=null
+ && System.currentTimeMillis() >= carUseBook.getStartTime().getTime()){
+ //瀹℃壒閫氳繃锛屼絾鏄� 宸插埌鍙戣溅鏃堕棿锛屼笉鍙互鎾ら攢
+ return Constants.ZERO;
+ }
+ if(!(Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO))
+ ||Constants.equalsInteger(carUseBook.getStatus(),Constants.ONE)
+ ||Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){
+ //瀹℃壒浜哄彲浠ユ挙閿� 鑷繁瀹℃壒鐨勭敵璇疯褰�
+ Approve approve = approveJoinMapper.selectOne(new QueryWrapper<Approve>().lambda()
+ .eq(Approve::getIsdeleted,Constants.ZERO)
+ .ge(Approve::getLevel,Constants.ZERO)
+ .eq(Approve::getChekorId,loginUserInfo.getId())
+ .eq(Approve::getObjId,carUseBook.getId())
+ .eq(Approve::getObjType,carUseBook.getType()==0?3:4)
+ .last("limit 1"));
+ if(approve!=null){
+ return Constants.ONE;
+ }
+ }
+ return Constants.ZERO;
+ }
+
}
--
Gitblit v1.9.3