|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.concurrent.TimeUnit; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 车辆信息表Service实现 | 
|---|
|  |  |  | 
|---|
|  |  |  | if(loginUserInfo == null){ | 
|---|
|  |  |  | loginUserInfo = model.getLoginUserInfo(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getCode()) | 
|---|
|  |  |  | /*    if(StringUtils.isBlank(model.getCode()) | 
|---|
|  |  |  | ||model.getType()==null | 
|---|
|  |  |  | ||model.getCateId()==null | 
|---|
|  |  |  | ||model.getType()<0 | 
|---|
|  |  |  | ||model.getType()>3 | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(model.getMemberId()!=null){ | 
|---|
|  |  |  | //检查车主信息 | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setCreateDate(new Date()); | 
|---|
|  |  |  | model.setCreator(loginUserInfo.getId()); | 
|---|
|  |  |  | model.setEditDate(new Date()); | 
|---|
|  |  |  | model.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | model.setEdirot(loginUserInfo.getId()); | 
|---|
|  |  |  | model.setStatus(Constants.ZERO); | 
|---|
|  |  |  | model.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | model.setHkStatus(Constants.ZERO); | 
|---|
|  |  |  | model.setAuthStatus(Constants.ZERO); | 
|---|
|  |  |  | model.setRemark(""); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | //删除已授权下发的包期授权 | 
|---|
|  |  |  | dealCancelBookBiz(car.getCode(),date); | 
|---|
|  |  |  | Cars model = new Cars(); | 
|---|
|  |  |  | model.setEditDate(date); | 
|---|
|  |  |  | model.setEdirot(user.getId()); | 
|---|
|  |  |  | model.setId(id); | 
|---|
|  |  |  | model.setIsdeleted(Constants.ONE); | 
|---|
|  |  |  | dealCancelBookBiz(car.getCode(),date,parkBookJoinMapper); | 
|---|
|  |  |  | //        Cars model = new Cars(); | 
|---|
|  |  |  | //        model.setEditDate(date); | 
|---|
|  |  |  | //        model.setEdirot(user.getId()); | 
|---|
|  |  |  | //        model.setId(id); | 
|---|
|  |  |  | //        model.setIsdeleted(Constants.ONE); | 
|---|
|  |  |  | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() | 
|---|
|  |  |  | .eq(Cars::getId,model.getId()) | 
|---|
|  |  |  | .eq(Cars::getId,id) | 
|---|
|  |  |  | .set(Cars::getStartTime,null) | 
|---|
|  |  |  | .set(Cars::getEndTime,null) | 
|---|
|  |  |  | .set(Cars::getAuthTimeType,null) | 
|---|
|  |  |  | .set(Cars::getAuthStatus,Constants.ZERO) | 
|---|
|  |  |  | .set(Cars::getIsdeleted,Constants.ONE) | 
|---|
|  |  |  | .set(Cars::getEditDate,model.getEditDate()) | 
|---|
|  |  |  | .set(Cars::getEdirot,model.getEdirot()) | 
|---|
|  |  |  | .set(Cars::getEditDate,date) | 
|---|
|  |  |  | .set(Cars::getEdirot,user.getId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | carsMapper.updateById(model); | 
|---|
|  |  |  | //        carsMapper.updateById(model); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public   boolean  dealCancelBookBiz(String code,Date date){ | 
|---|
|  |  |  | public static    boolean  dealCancelBookBiz(String code,Date date,ParkBookMapper parkBookJoinMapper){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() | 
|---|
|  |  |  | .selectAll(ParkBook.class ) | 
|---|
|  |  |  | 
|---|
|  |  |  | if(loginUserInfo == null){ | 
|---|
|  |  |  | loginUserInfo = model.getLoginUserInfo(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getCode()) | 
|---|
|  |  |  | /* if(StringUtils.isBlank(model.getCode()) | 
|---|
|  |  |  | ||model.getId()==null | 
|---|
|  |  |  | ||model.getType()==null | 
|---|
|  |  |  | ||model.getCateId()==null | 
|---|
|  |  |  | 
|---|
|  |  |  | ||model.getType()>3 | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | Cars car = carJoinMapper.selectById(model.getId()); | 
|---|
|  |  |  | if(car ==null ||Constants.equalsInteger(car.getIsdeleted(),Constants.ONE)){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,车辆信息不存在!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setHkStatus(Constants.ZERO); | 
|---|
|  |  |  | model.setRemark(""); | 
|---|
|  |  |  | model.setAuthStatus(Constants.ZERO); | 
|---|
|  |  |  | dealCancelBookBiz(car.getCode(),model.getEditDate()); | 
|---|
|  |  |  | dealCancelBookBiz(car.getCode(),model.getEditDate(),parkBookJoinMapper); | 
|---|
|  |  |  | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() | 
|---|
|  |  |  | .eq(Cars::getId,model.getId()) | 
|---|
|  |  |  | .set(Cars::getAuthStatus,Constants.ZERO) | 
|---|
|  |  |  | 
|---|
|  |  |  | .set(Cars::getEditDate,model.getEditDate()) | 
|---|
|  |  |  | .set(Cars::getEdirot,model.getEdirot()) | 
|---|
|  |  |  | .set(Cars::getMemberId,model.getMemberId()) | 
|---|
|  |  |  | .set(Cars::getAuthTimeType,null) | 
|---|
|  |  |  | .set(Cars::getStartTime,null) | 
|---|
|  |  |  | .set(Cars::getEndTime,null) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<Cars> findList(Cars cars) { | 
|---|
|  |  |  | if(Objects.nonNull(cars) && Objects.nonNull(cars.getType()) | 
|---|
|  |  |  | && Constants.equalsInteger(Constants.ZERO,cars.getType())){ | 
|---|
|  |  |  | return this.getGwCar(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | cars.setType(null); | 
|---|
|  |  |  | QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars); | 
|---|
|  |  |  | wrapper.lambda().eq(Cars::getIsdeleted,Constants.ZERO); | 
|---|
|  |  |  | return carsMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public List<Cars> getGwCar(){ | 
|---|
|  |  |  | List<Cars> list  = carsMapper.selectJoinList(Cars.class, | 
|---|
|  |  |  | new MPJLambdaWrapper<Cars>().selectAll(Cars.class) | 
|---|
|  |  |  | .leftJoin(Category.class,Category::getId,Cars::getCateId) | 
|---|
|  |  |  | .eq(Category::getBizType,Constants.FOUR) | 
|---|
|  |  |  | .eq(Cars::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<Cars> findPage(PageWrap<Cars> pageWrap) { | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.selectAll(Cars.class); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getType,Cars::getMemberType); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getName,Cars::getMemberName); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getIsdeleted,Cars::getMemberDeleted); | 
|---|
|  |  |  | queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getSex,Cars::getMemberSex); | 
|---|
|  |  |  | 
|---|
|  |  |  | cars.setGroupCateName(StringUtils.defaultString(cars.getCatePName(),"") + "/" + StringUtils.defaultString(cars.getCateName(),"")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | cars.setParkBookList(getParkbookListByCode(cars,parkBooks)); | 
|---|
|  |  |  | if(Constants.equalsInteger(cars.getMemberDeleted(),Constants.ONE)){ | 
|---|
|  |  |  | cars.setMemberId(null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(result); | 
|---|
|  |  |  | 
|---|
|  |  |  | .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId); | 
|---|
|  |  |  | wrapper.selectAs(ParkBook::getCarCode,CarsDTO::getCode) | 
|---|
|  |  |  | .selectAs(ParkBook::getParkId,CarsDTO::getParkId) | 
|---|
|  |  |  | .selectAs(Member::getIsdeleted,CarsDTO::getMemberDeleted) | 
|---|
|  |  |  | .selectAs(ParkBook::getRemark,CarsDTO::getRemark) | 
|---|
|  |  |  | .selectAs(Parks::getName,CarsDTO::getParkName) | 
|---|
|  |  |  | .selectAs(ParkBook::getMemberId,CarsDTO::getMemberId) | 
|---|
|  |  |  | 
|---|
|  |  |  | .selectAs(ParkBook::getCreateDate,CarsDTO::getCreateDate); | 
|---|
|  |  |  | wrapper.orderByDesc(ParkBook::getCreateDate); | 
|---|
|  |  |  | IPage<CarsDTO> carsDTOIPage = parkBookJoinMapper.selectJoinPage(page, CarsDTO.class, wrapper); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(carsDTOIPage!=null && carsDTOIPage.getRecords()!=null && carsDTOIPage.getRecords().size()>0){ | 
|---|
|  |  |  | for(CarsDTO cars :carsDTOIPage.getRecords()){ | 
|---|
|  |  |  | if(Constants.equalsInteger(cars.getMemberDeleted(),Constants.ONE)){ | 
|---|
|  |  |  | cars.setMemberId(null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(carsDTOIPage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(importing!=null && importing){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,已存在车辆导入任务正在执行中,请稍后再试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_CARS,true); | 
|---|
|  |  |  | redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_CARS,true,30, TimeUnit.MINUTES); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | ExcelImporter ie = null; | 
|---|
|  |  |  | List<CarsImport> dataList =null; | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setPhone(ScientificNotationTUtil.convertToString(model.getPhone())); | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getCode()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getCategoryName()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getType()) | 
|---|
|  |  |  | //                        &&StringUtils.isBlank(model.getType()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getSex()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getIdcard()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getParkName()) | 
|---|
|  |  |  | 
|---|
|  |  |  | ,List<Company> companyList | 
|---|
|  |  |  | ,List<Category> categoryList ) { | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getCode()) | 
|---|
|  |  |  | ||StringUtils.isBlank(model.getType()) | 
|---|
|  |  |  | //                ||StringUtils.isBlank(model.getType()) | 
|---|
|  |  |  | ||StringUtils.isBlank(model.getCategoryName()) | 
|---|
|  |  |  | ||StringUtils.isBlank(model.getCompanyName())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+2)+"行车辆信息不完整,请检查表格内容!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | cars.setIsnew(Constants.ZERO); | 
|---|
|  |  |  | updateList.add(cars); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //类型 0安泰公务车 1安泰自有物流车 2其它 | 
|---|
|  |  |  | /*  //类型 0安泰公务车 1安泰自有物流车 2其它 | 
|---|
|  |  |  | if(StringUtils.equals(model.getType(),"安泰公务车")){ | 
|---|
|  |  |  | cars.setType(Constants.ZERO); | 
|---|
|  |  |  | }else if(StringUtils.equals(model.getType(),"安泰自有物流车")){ | 
|---|
|  |  |  | cars.setType(Constants.ONE); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | cars.setType(Constants.TWO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | cars.setCode(model.getCode()); | 
|---|
|  |  |  | Company company = findCompanyFromList(model.getCompanyName(),companyList); | 
|---|
|  |  |  | if(company == null){ | 
|---|