jiangping
2024-05-28 56d111945916746dd9a2486665bf3be6eb58bdf7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -18,6 +18,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.DateIntervalVO;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.ApproveService;
import com.doumee.service.business.CarUseBookService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -151,36 +152,32 @@
        }
    }
    /**
     *
     * @param id 主键
     * @param memberId
     * @return
     */
    @Override
    public CarUseBook findById(Integer id) {
    public CarUseBook findById(Integer id,Integer memberId) {
        MPJLambdaWrapper<CarUseBook>  queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(CarUseBook.class);
        queryWrapper.select("t1.name",CarUseBook::getMemberName);
        queryWrapper.select("t1.phone",CarUseBook::getMemberPhone);
        queryWrapper.select("t2.name",CarUseBook::getDriverName);
        queryWrapper.select("t3.phone",CarUseBook::getDriverPhone);
        queryWrapper.select("t2.phone",CarUseBook::getDriverPhone);
        queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
        queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
                .leftJoin("company t4 on t1.company_id=t4.id")
                .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
                .leftJoin("company t4 on t1.company_id=t4.id")
                .eq(CarUseBook::getId,id)
                .last("limit 1"  );
        CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper);
        //审批记录
       List<Approve> approveList = approveJoinMapper.selectJoinList(Approve.class,
                new MPJLambdaWrapper<Approve>()
                        .selectAll(Approve.class)
                        .selectAs(Member::getName,Approve::getMemberName)
                        .selectAs(Member::getPhone,Approve::getMemberPhone)
                        .selectAs(Company::getName,Approve::getCompanyName)
                        .leftJoin(Member.class,Member::getId,Approve::getChekorId)
                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                        .eq(Approve::getIsdeleted,Constants.ZERO)
                        .eq(Approve::getObjType,Constants.ONE)
                        .eq(Approve::getObjId,id)
                        .orderByAsc(Approve::getLevel)
        model.setApproveDateVO(
               approveService.arrangeApprovedData(id,
                       model.getType().equals(Constants.ZERO)?3:4,
                       memberId)
        );
       model.setApproveList(approveList);
        return  model;
    }
@@ -206,11 +203,11 @@
        queryWrapper.select("t1.name",CarUseBook::getMemberName);
        queryWrapper.select("t1.phone",CarUseBook::getMemberPhone);
        queryWrapper.select("t2.name",CarUseBook::getDriverName);
        queryWrapper.select("t3.phone",CarUseBook::getDriverPhone);
        queryWrapper.select("t2.phone",CarUseBook::getDriverPhone);
        queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
        queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
                    .leftJoin("company t4 on t1.company_id=t4.id")
                    .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId);
                    .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
                    .leftJoin("company t4 on t1.company_id=t4.id");
        queryWrapper
                .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator())
@@ -246,6 +243,7 @@
                .eq(pageWrap.getModel().getAddr() != null, CarUseBook::getAddr, pageWrap.getModel().getAddr())
                .eq(pageWrap.getModel().getMemberId() != null, CarUseBook::getMemberId, pageWrap.getModel().getMemberId())
                .eq(pageWrap.getModel().getDriverId() != null, CarUseBook::getDriverId, pageWrap.getModel().getDriverId())
                .apply(pageWrap.getModel().getCompanyName() != null, "t4.company_name_path like '%"+pageWrap.getModel().getCompanyName()+"%'")
                .and(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()),
                        i->i.and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"23:59:59"))
                        .or()
@@ -257,8 +255,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()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime())
                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryEndTime())
                .orderByDesc(Visits::getCreateDate)
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {